rn-grid-date-time-picker 1.2.0 → 1.2.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 (68) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/lib/commonjs/components/DateTimePicker.js +5 -0
  3. package/lib/commonjs/components/DateTimePicker.js.map +1 -1
  4. package/lib/commonjs/components/theme/styleKeys.js +3 -1
  5. package/lib/commonjs/components/theme/styleKeys.js.map +1 -1
  6. package/lib/commonjs/components/time/TimeRow.js +42 -4
  7. package/lib/commonjs/components/time/TimeRow.js.map +1 -1
  8. package/lib/commonjs/components/time/TimeRows.js +27 -1
  9. package/lib/commonjs/components/time/TimeRows.js.map +1 -1
  10. package/lib/commonjs/components/time/timeStyles.js +15 -1
  11. package/lib/commonjs/components/time/timeStyles.js.map +1 -1
  12. package/lib/commonjs/components/types.js +2 -0
  13. package/lib/commonjs/components/types.js.map +1 -1
  14. package/lib/commonjs/core/zoned.js +18 -10
  15. package/lib/commonjs/core/zoned.js.map +1 -1
  16. package/lib/module/components/DateTimePicker.js +5 -0
  17. package/lib/module/components/DateTimePicker.js.map +1 -1
  18. package/lib/module/components/theme/styleKeys.js +3 -1
  19. package/lib/module/components/theme/styleKeys.js.map +1 -1
  20. package/lib/module/components/time/TimeRow.js +43 -5
  21. package/lib/module/components/time/TimeRow.js.map +1 -1
  22. package/lib/module/components/time/TimeRows.js +27 -1
  23. package/lib/module/components/time/TimeRows.js.map +1 -1
  24. package/lib/module/components/time/timeStyles.js +15 -1
  25. package/lib/module/components/time/timeStyles.js.map +1 -1
  26. package/lib/module/components/types.js +2 -0
  27. package/lib/module/components/types.js.map +1 -1
  28. package/lib/module/core/zoned.js +18 -10
  29. package/lib/module/core/zoned.js.map +1 -1
  30. package/lib/typescript/commonjs/src/components/DateTimePicker.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/src/components/theme/styleKeys.d.ts +1 -1
  32. package/lib/typescript/commonjs/src/components/theme/styleKeys.d.ts.map +1 -1
  33. package/lib/typescript/commonjs/src/components/time/TimeRow.d.ts +4 -0
  34. package/lib/typescript/commonjs/src/components/time/TimeRow.d.ts.map +1 -1
  35. package/lib/typescript/commonjs/src/components/time/TimeRows.d.ts +7 -0
  36. package/lib/typescript/commonjs/src/components/time/TimeRows.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/src/components/time/timeStyles.d.ts +24 -1
  38. package/lib/typescript/commonjs/src/components/time/timeStyles.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/src/components/types.d.ts +21 -0
  40. package/lib/typescript/commonjs/src/components/types.d.ts.map +1 -1
  41. package/lib/typescript/commonjs/src/core/zoned.d.ts +5 -1
  42. package/lib/typescript/commonjs/src/core/zoned.d.ts.map +1 -1
  43. package/lib/typescript/commonjs/src/index.d.ts +1 -1
  44. package/lib/typescript/commonjs/src/index.d.ts.map +1 -1
  45. package/lib/typescript/module/src/components/DateTimePicker.d.ts.map +1 -1
  46. package/lib/typescript/module/src/components/theme/styleKeys.d.ts +1 -1
  47. package/lib/typescript/module/src/components/theme/styleKeys.d.ts.map +1 -1
  48. package/lib/typescript/module/src/components/time/TimeRow.d.ts +4 -0
  49. package/lib/typescript/module/src/components/time/TimeRow.d.ts.map +1 -1
  50. package/lib/typescript/module/src/components/time/TimeRows.d.ts +7 -0
  51. package/lib/typescript/module/src/components/time/TimeRows.d.ts.map +1 -1
  52. package/lib/typescript/module/src/components/time/timeStyles.d.ts +24 -1
  53. package/lib/typescript/module/src/components/time/timeStyles.d.ts.map +1 -1
  54. package/lib/typescript/module/src/components/types.d.ts +21 -0
  55. package/lib/typescript/module/src/components/types.d.ts.map +1 -1
  56. package/lib/typescript/module/src/core/zoned.d.ts +5 -1
  57. package/lib/typescript/module/src/core/zoned.d.ts.map +1 -1
  58. package/lib/typescript/module/src/index.d.ts +1 -1
  59. package/lib/typescript/module/src/index.d.ts.map +1 -1
  60. package/package.json +1 -1
  61. package/src/components/DateTimePicker.tsx +5 -0
  62. package/src/components/theme/styleKeys.ts +4 -0
  63. package/src/components/time/TimeRow.tsx +49 -2
  64. package/src/components/time/TimeRows.tsx +38 -2
  65. package/src/components/time/timeStyles.ts +10 -1
  66. package/src/components/types.ts +22 -0
  67. package/src/core/zoned.ts +15 -3
  68. package/src/index.tsx +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"TimeRow.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/TimeRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAAwB,CAAC;AAEzD,OAAO,EAKL,KAAK,cAAc,EAGpB,MAAM,yBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAKnD,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,2FAA2F;IAC3F,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAeD;;;;;;GAMG;AACH,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAuOnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"TimeRow.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/TimeRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAGf,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAAwB,CAAC;AAEzD,OAAO,EAKL,KAAK,cAAc,EAGpB,MAAM,yBAAsB,CAAC;AAC9B,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAkB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAKnD,MAAM,WAAW,YAAY;IAC3B,kFAAkF;IAClF,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,2FAA2F;IAC3F,MAAM,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC7B;;;;OAIG;IACH,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC9C,yDAAyD;IACzD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACvD;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,uEAAuE;IACvE,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3C,iDAAiD;IACjD,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mDAAmD;IACnD,MAAM,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AA8CD;;;;;;GAMG;AACH,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CAmPnC,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -4,9 +4,11 @@ import type { Draft, DraftTarget } from '../../core/draft.js';
4
4
  import type { TimeEntryIssue } from '../../core/timeEntry.js';
5
5
  import type { CalendarDate, Time, TimeFormat } from '../../core/types.js';
6
6
  import type { RangeEnd } from '../field/RangeFields.js';
7
+ import { type DateTextFormatter } from '../field/fieldText.js';
7
8
  import type { PickerStrings } from '../theme/defaultStrings.js';
8
9
  import type { PickerStyles } from '../theme/styleKeys.js';
9
10
  import type { ThemeTokens } from '../theme/tokens.js';
11
+ import type { TimeLabelRenderProps } from '../types.js';
10
12
  /** Times typed before their day is picked, per end ('shared' lives in the draft). */
11
13
  export type PendingTimes = Partial<Record<'single' | RangeEnd, Time | null>>;
12
14
  interface Props {
@@ -32,6 +34,11 @@ interface Props {
32
34
  onSpinChange: (spinning: boolean) => void;
33
35
  /** A row's box gained or lost focus. */
34
36
  onFocusChange?: (rowKey: string, focused: boolean) => void;
37
+ /** Shows each row's day under its label. */
38
+ timeRowDate?: boolean;
39
+ renderTimeLabel?: (p: TimeLabelRenderProps) => React.ReactNode;
40
+ /** A day as the field writes it (the Hijri text for a Hijri pick); default `dateFormat`. */
41
+ dateText?: DateTextFormatter;
35
42
  /** A row's time that is typed but not saved yet (null once saved or gone). */
36
43
  onPendingChange?: (rowKey: string, target: DraftTarget, time: Time | null) => void;
37
44
  tokens: ThemeTokens;
@@ -1 +1 @@
1
- {"version":3,"file":"TimeRows.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/TimeRows.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAsB,CAAC;AAErD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAGnD,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AAE7E,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC3D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,aAAa,GAAG,QAAQ,CAAC;IACtC,SAAS,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,0DAA0D;IAC1D,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,wCAAwC;IACxC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,IAAI,GAAG,IAAI,KACd,IAAI,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0K7B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"TimeRows.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/TimeRows.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAC;AAEzE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAAwB,CAAC;AAC1D,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAkB,CAAC;AAC3D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,qBAAkB,CAAC;AACvE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yBAAsB,CAAC;AACrD,OAAO,EAAkB,KAAK,iBAAiB,EAAE,MAAM,uBAAoB,CAAC;AAC5E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,4BAAyB,CAAC;AAC7D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAU,CAAC;AAGrD,qFAAqF;AACrF,MAAM,MAAM,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,GAAG,QAAQ,EAAE,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC;AAE7E,UAAU,KAAK;IACb,KAAK,EAAE,KAAK,CAAC;IACb,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;IACnD,OAAO,EAAE,YAAY,CAAC;IACtB,UAAU,EAAE,CAAC,GAAG,EAAE,QAAQ,GAAG,QAAQ,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IAC3D,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,WAAW,EAAE,aAAa,GAAG,QAAQ,CAAC;IACtC,SAAS,EAAE,QAAQ,CAAC;IACpB,gBAAgB,EAAE,QAAQ,GAAG,SAAS,CAAC;IACvC,0DAA0D;IAC1D,SAAS,EAAE,YAAY,GAAG,IAAI,CAAC;IAC/B,WAAW,EAAE,WAAW,CAAC;IACzB,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IACzB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAC;IACtD,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,CAAC,QAAQ,EAAE,OAAO,KAAK,IAAI,CAAC;IAC1C,wCAAwC;IACxC,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,4CAA4C;IAC5C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,oBAAoB,KAAK,KAAK,CAAC,SAAS,CAAC;IAC/D,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,8EAA8E;IAC9E,eAAe,CAAC,EAAE,CAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,WAAW,EACnB,IAAI,EAAE,IAAI,GAAG,IAAI,KACd,IAAI,CAAC;IACV,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAYD;;;;GAIG;AACH,QAAA,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAuM7B,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -33,6 +33,30 @@ declare const create: (t: ThemeTokens) => Readonly<{
33
33
  flexShrink: number;
34
34
  marginEnd: number;
35
35
  };
36
+ labelWrap: {
37
+ flexShrink: number;
38
+ marginEnd: number;
39
+ };
40
+ labelInWrap: {
41
+ marginEnd: number;
42
+ };
43
+ labelDate: {
44
+ fontSize: number;
45
+ color: string;
46
+ fontFamily: string;
47
+ marginTop: number;
48
+ } | {
49
+ fontSize: number;
50
+ color: string;
51
+ fontFamily: string;
52
+ fontWeight: "400" | "500" | "600";
53
+ marginTop: number;
54
+ } | {
55
+ fontSize: number;
56
+ color: string;
57
+ fontWeight: "400" | "500" | "600";
58
+ marginTop: number;
59
+ };
36
60
  boxes: {
37
61
  flexDirection: "row";
38
62
  alignItems: "center";
@@ -94,7 +118,6 @@ declare const create: (t: ThemeTokens) => Readonly<{
94
118
  };
95
119
  colonCell: {
96
120
  width: number;
97
- height: number;
98
121
  alignItems: "center";
99
122
  justifyContent: "center";
100
123
  };
@@ -1 +1 @@
1
- {"version":3,"file":"timeStyles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/timeStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAI9D,QAAA,MAAM,MAAM,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwH1B,CAAC;AAEL,mEAAmE;AACnE,eAAO,MAAM,eAAe,GAC1B,QAAQ,WAAW,KAClB,UAAU,CAAC,OAAO,MAAM,CAM1B,CAAC"}
1
+ {"version":3,"file":"timeStyles.d.ts","sourceRoot":"","sources":["../../../../../../src/components/time/timeStyles.ts"],"names":[],"mappings":"AACA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,oBAAiB,CAAC;AAI9D,QAAA,MAAM,MAAM,GAAI,GAAG,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAiI1B,CAAC;AAEL,mEAAmE;AACnE,eAAO,MAAM,eAAe,GAC1B,QAAQ,WAAW,KAClB,UAAU,CAAC,OAAO,MAAM,CAM1B,CAAC"}
@@ -140,6 +140,19 @@ export interface LabelRenderProps {
140
140
  /** The picker's testID. */
141
141
  fieldTestID?: string;
142
142
  }
143
+ /** What `renderTimeLabel` receives, for one time row. */
144
+ export interface TimeLabelRenderProps {
145
+ /** The row's label from `strings`: 'Time', 'Start time' or 'End time'. */
146
+ label: string;
147
+ /** A single value's row, a range end, the multiple-mode shared row, or a day's own row (`timeMode: 'perDate'`). */
148
+ row: 'single' | 'from' | 'to' | 'shared' | 'day';
149
+ /** The row's picked day; null before it is picked, and for the shared row. */
150
+ date: CalendarDate | null;
151
+ /** That day as the field writes it; null when there is no day. Set whether or not `timeRowDate` is on. */
152
+ dateText: string | null;
153
+ /** The row's time, or null. */
154
+ time: Time | null;
155
+ }
143
156
  /** What `renderInstruction` receives. */
144
157
  export interface InstructionRenderProps {
145
158
  instruction: string;
@@ -333,6 +346,14 @@ export interface DateTimePickerProps {
333
346
  minuteStep?: number;
334
347
  /** A newly picked day always gets this time (over a time typed first and over the current time). */
335
348
  newDayTime?: Time;
349
+ /**
350
+ * Shows each time row's picked day under its label ('Start time',
351
+ * 10-03-2026), as the field writes it. Nothing shows until the day is
352
+ * picked. Style it with `timeLabelDate`. Default false.
353
+ */
354
+ timeRowDate?: boolean;
355
+ /** Replaces a time row's label (and its date). The boxes and errors stay built in. */
356
+ renderTimeLabel?: (p: TimeLabelRenderProps) => React.ReactNode;
336
357
  showHolidays?: boolean;
337
358
  /** Holidays as 'YYYY-MM-DD' (ISO strings are cut to the date). Marked, not disabled, unless `disableHolidays`. */
338
359
  holidays?: string[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,2BAAwB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,wBAAqB,CAAC;AACnE,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAkB,CAAC;AACjD,OAAO,KAAK,EACV,YAAY,EACZ,UAAU,EACV,WAAW,EACX,aAAa,EACb,IAAI,EACJ,UAAU,EACV,WAAW,EACX,OAAO,EACR,MAAM,kBAAe,CAAC;AACvB,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,mBAAU,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAAuB,CAAC;AACxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAgB,CAAC;AAElD;;;;GAIG;AAEH,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,aAAa,CAAC;IACpB,uCAAuC;IACvC,KAAK,EAAE,WAAW,CAAC;IACnB,qGAAqG;IACrG,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,OAAO,CAAC;IAChB,0FAA0F;IAC1F,MAAM,EAAE,OAAO,CAAC;IAChB;;;OAGG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,uFAAuF;IACvF,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB;;;;;OAKG;IACH,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,iEAAiE;IACjE,UAAU,EAAE;QAAE,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;QAAC,EAAE,EAAE,IAAI,GAAG,IAAI,CAAA;KAAE,GAAG,IAAI,CAAC;IAC1D;;;;OAIG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,qEAAqE;AACrE,MAAM,MAAM,IAAI,GAAG,KAAK,CAAC,SAAS,GAAG,CAAC,CAAC,KAAK,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC,CAAC;AAE/E;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GACvB,YAAY,GACZ,oBAAoB,GACpB,YAAY,GACZ,SAAS,GACT,UAAU,GACV,YAAY,GACZ,WAAW,GACX,kBAAkB,CAAC;AAEvB,iEAAiE;AACjE,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,IAAI,CAAC;IAC3B,IAAI,EAAE,KAAK,CAAC,SAAS,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC,SAAS,CAAC;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,sEAAsE;AACtE,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC;AAE9C,8FAA8F;AAC9F,MAAM,WAAW,YAAY;IAC3B,+FAA+F;IAC/F,MAAM,CAAC,EAAE,SAAS,CAAC;IACnB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;;OAGG;IACH,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B;;;;;OAKG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kGAAkG;IAClG,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,gHAAgH;IAChH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mGAAmG;IACnG,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,4FAA4F;IAC5F,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,UAAU;IACzB,cAAc,EAAE,SAAS,GAAG,OAAO,CAAC;CACrC;AAED,4CAA4C;AAC5C,MAAM,WAAW,yBAAyB;IACxC,6BAA6B;IAC7B,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,QAAQ,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC3C,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;CACxB;AAED,mCAAmC;AACnC,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC;IAC7B,wBAAwB;IACxB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yCAAyC;AACzC,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,2BAA2B;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,sCAAsC;AACtC,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,UAAU,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,IAAI,CAAC;IACV,KAAK,EAAE,YAAY,CAAC;IACpB,6EAA6E;IAC7E,OAAO,EAAE,IAAI,CAAC;IACd,yDAAyD;IACzD,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,2DAA2D;IAC3D,MAAM,EAAE;QACN,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,OAAO,CAAC,EAAE,YAAY,CAAC;QACvB,aAAa,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;QAC7C,YAAY,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,OAAO,CAAC;QAC5C,UAAU,CAAC,EAAE,CAAC,CAAC,EAAE,YAAY,KAAK,UAAU,GAAG,IAAI,CAAC;QACpD,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;QAC7B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,MAAM,WAAW,mBAAmB;IAElC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,KAAK,EAAE,WAAW,CAAC;IACnB;;;;;OAKG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,UAAU,KAAK,IAAI,CAAC;IAC1D;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,CAAC,EAAE,SAAS,GAAG,SAAS,CAAC;IACnC,4CAA4C;IAC5C,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;QAChC,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;IACF,KAAK,CAAC,EAAE;QACN,MAAM,CAAC,EAAE,aAAa,GAAG,QAAQ,CAAC;QAClC,YAAY,CAAC,EAAE,OAAO,CAAC;QACvB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,QAAQ,CAAC,EAAE,UAAU,GAAG,gBAAgB,CAAC;KAC1C,CAAC;IAGF,YAAY,CAAC,EAAE,OAAO,GAAG,QAAQ,CAAC;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,8EAA8E;IAC9E,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,0FAA0F;IAC1F,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC;IACvD,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,IAAI,CAAC;IAG1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB;;;;OAIG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kHAAkH;IAClH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,WAAW,CAAC,EAAE,CAAC,CAAC,EAAE,gBAAgB,KAAK,KAAK,CAAC,SAAS,CAAC;IACvD,8CAA8C;IAC9C,iBAAiB,CAAC,EAAE,CAAC,CAAC,EAAE,sBAAsB,KAAK,KAAK,CAAC,SAAS,CAAC;IACnE;;;OAGG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,aAAa,GAAG,IAAI,CAAC,CAAC,CAAC;IACxD,mFAAmF;IACnF,SAAS,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;IAGnD,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,IAAI,CAAC;IACf,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,MAAM,CAAC,EAAE,IAAI,CAAC;IACd,iHAAiH;IACjH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACzC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;IACtD,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,IAAI,KAAK,KAAK,CAAC,SAAS,CAAC;IAC1E,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,KAAK,CAAC,SAAS,CAAC;IACpE,eAAe,CAAC,EAAE,CAChB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,KAC5C,KAAK,CAAC,SAAS,CAAC;IACrB,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC;IACvD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,KAAK,CAAC,SAAS,CAAC;IACxD,gBAAgB,CAAC,EAAE,MAAM,KAAK,CAAC,SAAS,CAAC;IACzC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,KAAK,CAAC,SAAS,CAAC;IAGxD,6EAA6E;IAC7E,cAAc,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC3C,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,SAAS,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,WAAW,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACvC;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;IACrC;;;OAGG;IACH,kBAAkB,CAAC,EAAE,YAAY,CAAC;IAClC,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;;;OAIG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,cAAc,EAAE,CAAC;IAC5C,sDAAsD;IACtD,sBAAsB,CAAC,EAAE,CAAC,MAAM,EAAE,cAAc,KAAK,IAAI,CAAC;IAC1D;;;;OAIG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;IACrC,6CAA6C;IAC7C,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,yBAAyB,KAAK,KAAK,CAAC,SAAS,CAAC;IACzE,+FAA+F;IAC/F,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sFAAsF;IACtF,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;IAGjB,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC9B,0CAA0C;IAC1C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oGAAoG;IACpG,UAAU,CAAC,EAAE,IAAI,CAAC;IAGlB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,kHAAkH;IAClH,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IACnD,kEAAkE;IAClE,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,iFAAiF;IACjF,gBAAgB,CAAC,EAAE,OAAO,EAAE,CAAC;IAC7B,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;IAC/C,YAAY,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,OAAO,CAAC;IAC9C,UAAU,CAAC,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,UAAU,GAAG,IAAI,CAAC;IACtD,oGAAoG;IACpG,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,KAAK,WAAW,CAAC;IAGzD,KAAK,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACjC;;;;;OAKG;IACH,YAAY,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACtC,MAAM,CAAC,EAAE,MAAM,CAAC;IAGhB,oBAAoB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,eAAe,EAAE,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IAC9D;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;CAC9D;AAED,eAAO,MAAM,kBAAkB;;;CAA8B,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/components/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,10 @@
1
1
  import { DateTime } from 'luxon';
2
2
  import type { DateTimeValue } from './types.js';
3
- /** The Luxon DateTime for a date-time value in `zone` (seconds and ms zeroed). */
3
+ /**
4
+ * The Luxon DateTime for a date-time value in `zone` (seconds and ms zeroed).
5
+ * A time that happens twice resolves to its first occurrence: Luxon alone picks
6
+ * by the zone's offset today, so the result would change with the season.
7
+ */
4
8
  export declare const toZonedDateTime: (value: DateTimeValue, zone: string) => DateTime;
5
9
  export type DstStatus = 'ok' | 'gap' | 'overlap';
6
10
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"zoned.d.ts","sourceRoot":"","sources":["../../../../../src/core/zoned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAS,CAAC;AAE7C,kFAAkF;AAClF,eAAO,MAAM,eAAe,GAAI,OAAO,aAAa,EAAE,MAAM,MAAM,KAAG,QAUlE,CAAC;AAEJ,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,aAAa,EAAE,MAAM,MAAM,KAAG,SAO9D,CAAC"}
1
+ {"version":3,"file":"zoned.d.ts","sourceRoot":"","sources":["../../../../../src/core/zoned.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAS,CAAC;AAE7C;;;;GAIG;AACH,eAAO,MAAM,eAAe,GAC1B,OAAO,aAAa,EACpB,MAAM,MAAM,KACX,QAeF,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG,KAAK,GAAG,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,aAAa,EAAE,MAAM,MAAM,KAAG,SAO9D,CAAC"}
@@ -12,7 +12,7 @@ export { hijriDateText, hijriPeriods } from './core/calendarSystem.js';
12
12
  export { arabicDigits } from './core/numerals.js';
13
13
  export type { AdapterContext, CalendarDate, DateTimeValue, PickerType, PickerValue, RangeValue, SelectionMode, Time, TimeFormat, ValueAdapter, ValueFormat, Weekday, } from './core/types.js';
14
14
  export type { Constraints, CreateConstraintsOptions, DayStatus, DisabledReason, RangeBound, TimeBounds, } from './core/constraints.js';
15
- export type { CalendarSwitchRenderProps, ChangeInfo, ConstraintContext, DateTimePickerProps, InstructionRenderProps, LabelRenderProps, PickerErrorCode, PickerState, SheetOptions, SheetRenderProps, SheetSize, Slot, } from './components/types.js';
15
+ export type { CalendarSwitchRenderProps, ChangeInfo, ConstraintContext, DateTimePickerProps, InstructionRenderProps, LabelRenderProps, PickerErrorCode, PickerState, SheetOptions, SheetRenderProps, SheetSize, Slot, TimeLabelRenderProps, } from './components/types.js';
16
16
  export type { CalendarSystem, Periods } from './core/calendarSystem.js';
17
17
  export type { Numerals } from './core/numerals.js';
18
18
  export type { PickerStrings } from './components/theme/defaultStrings.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gCAA6B,CAAC;AAEzD,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAY,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAmC,CAAC;AACpE,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,8BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAoB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,MAAM,kBAAS,CAAC;AACjB,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,GACV,MAAM,wBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAiB,CAAC;AAG/C,YAAY,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,GACR,MAAM,iBAAc,CAAC;AACtB,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,uBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,IAAI,GACL,MAAM,uBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAAuB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAiB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAmC,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACT,MAAM,iCAA8B,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA2B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kCAA+B,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAkC,CAAC;AACnE,YAAY,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,eAAe,EACf,OAAO,GACR,MAAM,kBAAS,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,gCAA6B,CAAC;AAEzD,eAAe,cAAc,CAAC;AAC9B,OAAO,EAAE,cAAc,EAAE,CAAC;AAG1B,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAoB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAY,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,sCAAmC,CAAC;AACpE,OAAO,EACL,cAAc,EACd,WAAW,EACX,YAAY,GACb,MAAM,8BAA2B,CAAC;AACnC,OAAO,EAAE,kBAAkB,EAAE,MAAM,uBAAoB,CAAC;AACxD,OAAO,EACL,YAAY,EACZ,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,SAAS,GACV,MAAM,kBAAS,CAAC;AACjB,OAAO,EACL,OAAO,EACP,oBAAoB,EACpB,WAAW,EACX,WAAW,EACX,WAAW,EACX,SAAS,EACT,SAAS,EACT,OAAO,EACP,SAAS,GACV,MAAM,wBAAqB,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,0BAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAiB,CAAC;AAG/C,YAAY,EACV,cAAc,EACd,YAAY,EACZ,aAAa,EACb,UAAU,EACV,WAAW,EACX,UAAU,EACV,aAAa,EACb,IAAI,EACJ,UAAU,EACV,YAAY,EACZ,WAAW,EACX,OAAO,GACR,MAAM,iBAAc,CAAC;AACtB,YAAY,EACV,WAAW,EACX,wBAAwB,EACxB,SAAS,EACT,cAAc,EACd,UAAU,EACV,UAAU,GACX,MAAM,uBAAoB,CAAC;AAC5B,YAAY,EACV,yBAAyB,EACzB,UAAU,EACV,iBAAiB,EACjB,mBAAmB,EACnB,sBAAsB,EACtB,gBAAgB,EAChB,eAAe,EACf,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,SAAS,EACT,IAAI,EACJ,oBAAoB,GACrB,MAAM,uBAAoB,CAAC;AAC5B,YAAY,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,0BAAuB,CAAC;AACrE,YAAY,EAAE,QAAQ,EAAE,MAAM,oBAAiB,CAAC;AAChD,YAAY,EAAE,aAAa,EAAE,MAAM,sCAAmC,CAAC;AACvE,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GACT,MAAM,iCAA8B,CAAC;AACtC,YAAY,EAAE,WAAW,EAAE,MAAM,8BAA2B,CAAC;AAC7D,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,kCAA+B,CAAC;AAC7E,YAAY,EAAE,UAAU,EAAE,MAAM,qCAAkC,CAAC;AACnE,YAAY,EACV,aAAa,EACb,QAAQ,EACR,WAAW,EACX,eAAe,EACf,OAAO,GACR,MAAM,kBAAS,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rn-grid-date-time-picker",
3
- "version": "1.2.0",
3
+ "version": "1.2.1",
4
4
  "description": "React Native date, time and date range picker with a Hijri (Islamic, Umm al-Qura) calendar, Arabic digits and RTL. Bottom sheet or inline, fully themeable, TypeScript. Runs on iOS, Android and Expo Go.",
5
5
  "main": "./lib/commonjs/index.js",
6
6
  "module": "./lib/module/index.js",
@@ -204,6 +204,8 @@ const DateTimePicker: React.FC<DateTimePickerProps> = (props) => {
204
204
  minuteStep: minuteStepProp = 1,
205
205
  timeInput = 'typed',
206
206
  newDayTime,
207
+ timeRowDate = false,
208
+ renderTimeLabel,
207
209
  holidays: holidaysProp,
208
210
  loadHolidays,
209
211
  disableHolidays,
@@ -1668,6 +1670,9 @@ const DateTimePicker: React.FC<DateTimePickerProps> = (props) => {
1668
1670
  onSpinChange={setWheelSpinning}
1669
1671
  onFocusChange={(row, f) => reportFocus(`time-${row}`, f)}
1670
1672
  onPendingChange={onRowPending}
1673
+ timeRowDate={timeRowDate}
1674
+ renderTimeLabel={renderTimeLabel}
1675
+ dateText={draftDateText}
1671
1676
  tokens={tokens}
1672
1677
  styles={styles}
1673
1678
  strings={stringsFor(shownSystem)}
@@ -110,6 +110,10 @@ export const STYLE_KEYS = [
110
110
  // time
111
111
  'timeRow',
112
112
  'timeLabel',
113
+ /** Holds the label and its date (`timeRowDate`) or a `renderTimeLabel` label. */
114
+ 'timeLabelWrap',
115
+ /** The picked day under a time row's label (`timeRowDate`). */
116
+ 'timeLabelDate',
113
117
  'timeBox',
114
118
  'timeBoxFocused',
115
119
  'timeBoxError',
@@ -57,6 +57,10 @@ export interface TimeRowProps {
57
57
  /** The day's limits (`Constraints.timeBounds`). */
58
58
  bounds?: TimeBounds | null;
59
59
  label: string;
60
+ /** The row's day, shown under the label (`timeRowDate`); null shows none. */
61
+ dateText?: string | null;
62
+ /** Replaces the label and its date (`renderTimeLabel`). */
63
+ renderLabel?: () => React.ReactNode;
60
64
  disabled?: boolean;
61
65
  tokens: ThemeTokens;
62
66
  styles?: PickerStyles;
@@ -77,6 +81,37 @@ const issueText = (
77
81
  return strings.errorTimeNotAllowed;
78
82
  };
79
83
 
84
+ /** The row's label: plain, with the day under it, or the app's own. */
85
+ const TimeLabel: React.FC<
86
+ Pick<
87
+ TimeRowProps,
88
+ 'label' | 'dateText' | 'renderLabel' | 'tokens' | 'styles' | 'testID'
89
+ >
90
+ > = ({ label, dateText, renderLabel, tokens, styles, testID }) => {
91
+ const s = buildTimeStyles(tokens);
92
+ if (!renderLabel && !dateText)
93
+ return <Text style={[s.label, styles?.timeLabel]}>{label}</Text>;
94
+ return (
95
+ <View style={[s.labelWrap, styles?.timeLabelWrap]}>
96
+ {renderLabel ? (
97
+ renderLabel()
98
+ ) : (
99
+ <>
100
+ <Text style={[s.label, s.labelInWrap, styles?.timeLabel]}>
101
+ {label}
102
+ </Text>
103
+ <Text
104
+ style={[s.labelDate, styles?.timeLabelDate]}
105
+ testID={testID ? `${testID}-date` : undefined}
106
+ >
107
+ {dateText}
108
+ </Text>
109
+ </>
110
+ )}
111
+ </View>
112
+ );
113
+ };
114
+
80
115
  /**
81
116
  * Label, the time boxes and the error below them. The boxes are
82
117
  * normal inputs (free cursor, digits only, two at most) with three helpers:
@@ -97,6 +132,8 @@ const TimeRow: React.FC<TimeRowProps> = ({
97
132
  minuteStep = 1,
98
133
  bounds,
99
134
  label,
135
+ dateText,
136
+ renderLabel,
100
137
  disabled,
101
138
  tokens,
102
139
  styles,
@@ -205,8 +242,11 @@ const TimeRow: React.FC<TimeRowProps> = ({
205
242
  let issue: TimeEntryIssue | null = effective.issue;
206
243
  if (effective.isEmpty) issue = time ? 'INCOMPLETE' : null;
207
244
  if (effective.time) issue = checkTime(effective.time, { minuteStep, bounds });
245
+ // A time set elsewhere reaches the boxes one render later (the effect
246
+ // above); until then the boxes are stale, so check that time instead.
247
+ const boxesStale = !focused && timeKey(time) !== lastKey.current;
208
248
  // The wheel always holds a complete time: only the limits and the step apply.
209
- if (input === 'wheel')
249
+ if (input === 'wheel' || boxesStale)
210
250
  issue = time ? checkTime(time, { minuteStep, bounds }) : null;
211
251
 
212
252
  const pending =
@@ -268,7 +308,14 @@ const TimeRow: React.FC<TimeRowProps> = ({
268
308
  return (
269
309
  <View style={s.wrapper} testID={testID}>
270
310
  <View style={[s.row, styles?.timeRow]}>
271
- <Text style={[s.label, styles?.timeLabel]}>{label}</Text>
311
+ <TimeLabel
312
+ label={label}
313
+ dateText={dateText}
314
+ renderLabel={renderLabel}
315
+ tokens={tokens}
316
+ styles={styles}
317
+ testID={testID}
318
+ />
272
319
  {input === 'wheel' ? (
273
320
  <TimeWheel
274
321
  time={time}
@@ -5,10 +5,11 @@ import type { Draft, DraftTarget } from '../../core/draft';
5
5
  import type { TimeEntryIssue } from '../../core/timeEntry';
6
6
  import type { CalendarDate, Time, TimeFormat } from '../../core/types';
7
7
  import type { RangeEnd } from '../field/RangeFields';
8
- import { formatDateText } from '../field/fieldText';
8
+ import { formatDateText, type DateTextFormatter } from '../field/fieldText';
9
9
  import type { PickerStrings } from '../theme/defaultStrings';
10
10
  import type { PickerStyles } from '../theme/styleKeys';
11
11
  import type { ThemeTokens } from '../theme/tokens';
12
+ import type { TimeLabelRenderProps } from '../types';
12
13
  import TimeRow from './TimeRow';
13
14
 
14
15
  /** Times typed before their day is picked, per end ('shared' lives in the draft). */
@@ -37,6 +38,11 @@ interface Props {
37
38
  onSpinChange: (spinning: boolean) => void;
38
39
  /** A row's box gained or lost focus. */
39
40
  onFocusChange?: (rowKey: string, focused: boolean) => void;
41
+ /** Shows each row's day under its label. */
42
+ timeRowDate?: boolean;
43
+ renderTimeLabel?: (p: TimeLabelRenderProps) => React.ReactNode;
44
+ /** A day as the field writes it (the Hijri text for a Hijri pick); default `dateFormat`. */
45
+ dateText?: DateTextFormatter;
40
46
  /** A row's time that is typed but not saved yet (null once saved or gone). */
41
47
  onPendingChange?: (
42
48
  rowKey: string,
@@ -51,6 +57,7 @@ interface Props {
51
57
 
52
58
  interface RowSpec {
53
59
  key: string;
60
+ kind: TimeLabelRenderProps['row'];
54
61
  label: string;
55
62
  time: Time | null;
56
63
  day: CalendarDate | null;
@@ -85,6 +92,9 @@ const TimeRows: React.FC<Props> = (props) => {
85
92
  onSpinChange,
86
93
  onFocusChange,
87
94
  onPendingChange,
95
+ timeRowDate = false,
96
+ renderTimeLabel,
97
+ dateText,
88
98
  tokens,
89
99
  styles,
90
100
  strings,
@@ -98,6 +108,7 @@ const TimeRows: React.FC<Props> = (props) => {
98
108
  ): RowSpec => {
99
109
  return {
100
110
  key,
111
+ kind: key,
101
112
  label,
102
113
  time: value?.time ?? pending[key] ?? null,
103
114
  day: value?.date ?? null,
@@ -123,6 +134,7 @@ const TimeRows: React.FC<Props> = (props) => {
123
134
  rows = [
124
135
  {
125
136
  key: 'shared',
137
+ kind: 'shared',
126
138
  label: strings.time,
127
139
  time: draft.sharedTime,
128
140
  day: null,
@@ -142,7 +154,11 @@ const TimeRows: React.FC<Props> = (props) => {
142
154
  rows = [
143
155
  {
144
156
  key: `day-${slot.date.year}-${slot.date.month}-${slot.date.day}`,
145
- label: `${strings.time} · ${formatDateText(slot, dateFormat)}`,
157
+ kind: 'day',
158
+ // With timeRowDate the day goes under the label instead.
159
+ label: timeRowDate
160
+ ? strings.time
161
+ : `${strings.time} · ${formatDateText(slot, dateFormat)}`,
146
162
  time: slot.time,
147
163
  day: slot.date,
148
164
  target: { day: slot.date },
@@ -200,6 +216,24 @@ const TimeRows: React.FC<Props> = (props) => {
200
216
  // eslint-disable-next-line react-hooks/exhaustive-deps -- reports changes only; the callback may be a new function on every render
201
217
  useEffect(() => onSpinChange(anySpinning), [anySpinning]);
202
218
 
219
+ /** A row's day as the field writes it, or null before it is picked. */
220
+ const dayText = (row: RowSpec): string | null => {
221
+ if (!row.day) return null;
222
+ const value = { date: row.day, time: row.time };
223
+ return dateText ? dateText(value) : formatDateText(value, dateFormat);
224
+ };
225
+ const labelRenderer = (row: RowSpec) =>
226
+ renderTimeLabel
227
+ ? () =>
228
+ renderTimeLabel({
229
+ label: row.label,
230
+ row: row.kind,
231
+ date: row.day,
232
+ dateText: dayText(row),
233
+ time: row.time,
234
+ })
235
+ : undefined;
236
+
203
237
  const single = rows.length === 1;
204
238
  return (
205
239
  <>
@@ -218,6 +252,8 @@ const TimeRows: React.FC<Props> = (props) => {
218
252
  minuteStep={minuteStep}
219
253
  bounds={row.day ? constraints.timeBounds(row.day) : null}
220
254
  label={row.label}
255
+ dateText={timeRowDate ? dayText(row) : null}
256
+ renderLabel={labelRenderer(row)}
221
257
  disabled={disabled}
222
258
  tokens={tokens}
223
259
  styles={styles}
@@ -23,6 +23,15 @@ const create = (t: ThemeTokens) =>
23
23
  fontSize: t.fontSizeLarge,
24
24
  color: t.heading,
25
25
  },
26
+ // The label with the day under it (timeRowDate), or a renderTimeLabel label.
27
+ labelWrap: { flexShrink: 1, marginEnd: 12 },
28
+ labelInWrap: { marginEnd: 0 },
29
+ labelDate: {
30
+ marginTop: 2,
31
+ ...fontStyle(t, 'regular'),
32
+ fontSize: t.fontSizeSmall,
33
+ color: t.mutedText,
34
+ },
26
35
  boxes: {
27
36
  flexDirection: 'row',
28
37
  alignItems: 'center',
@@ -62,9 +71,9 @@ const create = (t: ThemeTokens) =>
62
71
  },
63
72
  boxFocused: { borderColor: t.borderFocused },
64
73
  boxError: { borderColor: t.error },
74
+ // No height of its own, so `timeBox` sets the row's height.
65
75
  colonCell: {
66
76
  width: 24,
67
- height: 46,
68
77
  alignItems: 'center',
69
78
  justifyContent: 'center',
70
79
  },
@@ -165,6 +165,20 @@ export interface LabelRenderProps {
165
165
  fieldTestID?: string;
166
166
  }
167
167
 
168
+ /** What `renderTimeLabel` receives, for one time row. */
169
+ export interface TimeLabelRenderProps {
170
+ /** The row's label from `strings`: 'Time', 'Start time' or 'End time'. */
171
+ label: string;
172
+ /** A single value's row, a range end, the multiple-mode shared row, or a day's own row (`timeMode: 'perDate'`). */
173
+ row: 'single' | 'from' | 'to' | 'shared' | 'day';
174
+ /** The row's picked day; null before it is picked, and for the shared row. */
175
+ date: CalendarDate | null;
176
+ /** That day as the field writes it; null when there is no day. Set whether or not `timeRowDate` is on. */
177
+ dateText: string | null;
178
+ /** The row's time, or null. */
179
+ time: Time | null;
180
+ }
181
+
168
182
  /** What `renderInstruction` receives. */
169
183
  export interface InstructionRenderProps {
170
184
  instruction: string;
@@ -368,6 +382,14 @@ export interface DateTimePickerProps {
368
382
  minuteStep?: number;
369
383
  /** A newly picked day always gets this time (over a time typed first and over the current time). */
370
384
  newDayTime?: Time;
385
+ /**
386
+ * Shows each time row's picked day under its label ('Start time',
387
+ * 10-03-2026), as the field writes it. Nothing shows until the day is
388
+ * picked. Style it with `timeLabelDate`. Default false.
389
+ */
390
+ timeRowDate?: boolean;
391
+ /** Replaces a time row's label (and its date). The boxes and errors stay built in. */
392
+ renderTimeLabel?: (p: TimeLabelRenderProps) => React.ReactNode;
371
393
 
372
394
  // limits → greyed days and errors
373
395
  showHolidays?: boolean;
package/src/core/zoned.ts CHANGED
@@ -1,9 +1,16 @@
1
1
  import { DateTime } from 'luxon';
2
2
  import type { DateTimeValue } from './types';
3
3
 
4
- /** The Luxon DateTime for a date-time value in `zone` (seconds and ms zeroed). */
5
- export const toZonedDateTime = (value: DateTimeValue, zone: string): DateTime =>
6
- DateTime.fromObject(
4
+ /**
5
+ * The Luxon DateTime for a date-time value in `zone` (seconds and ms zeroed).
6
+ * A time that happens twice resolves to its first occurrence: Luxon alone picks
7
+ * by the zone's offset today, so the result would change with the season.
8
+ */
9
+ export const toZonedDateTime = (
10
+ value: DateTimeValue,
11
+ zone: string
12
+ ): DateTime => {
13
+ const dt = DateTime.fromObject(
7
14
  {
8
15
  ...value.date,
9
16
  hour: value.time?.hour ?? 0,
@@ -13,6 +20,11 @@ export const toZonedDateTime = (value: DateTimeValue, zone: string): DateTime =>
13
20
  },
14
21
  { zone }
15
22
  );
23
+ if (!dt.isValid) return dt;
24
+ return dt
25
+ .getPossibleOffsets()
26
+ .reduce((first, d) => (d.toMillis() < first.toMillis() ? d : first), dt);
27
+ };
16
28
 
17
29
  export type DstStatus = 'ok' | 'gap' | 'overlap';
18
30
 
package/src/index.tsx CHANGED
@@ -70,6 +70,7 @@ export type {
70
70
  SheetRenderProps,
71
71
  SheetSize,
72
72
  Slot,
73
+ TimeLabelRenderProps,
73
74
  } from './components/types';
74
75
  export type { CalendarSystem, Periods } from './core/calendarSystem';
75
76
  export type { Numerals } from './core/numerals';