react-timezone-range-picker 0.1.7 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -12,9 +12,26 @@ export interface OnApplyParams {
12
12
  timezone: TimezoneData;
13
13
  }
14
14
  export type AllowedTimeRange = "past" | "future" | "all";
15
+ /** A span of calendar time, such as `{ months: 1 }`, `{ days: 30 }` or `{ weeks: 2 }`. */
16
+ export interface RangeDuration {
17
+ years?: number;
18
+ months?: number;
19
+ weeks?: number;
20
+ days?: number;
21
+ hours?: number;
22
+ minutes?: number;
23
+ seconds?: number;
24
+ }
15
25
  export interface TimezoneRangePickerOptions {
16
26
  /** Limits quick options and manual selection. Defaults to all time. */
17
27
  allowedTimeRange?: AllowedTimeRange;
28
+ /**
29
+ * Longest range that can be selected, measured from the start in calendar terms
30
+ * (`{ months: 1 }` allows Jan 15 → Feb 15). Longer quick options are hidden,
31
+ * calendar days past the limit are disabled and longer manual ranges fail
32
+ * validation. Defaults to no limit.
33
+ */
34
+ maxRange?: RangeDuration;
18
35
  /** Adds the whole current calendar day to Last/Next day quick ranges. Defaults to false. */
19
36
  includeTodayInQuickRanges?: boolean;
20
37
  disableSeconds?: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,4FAA4F;IAC5F,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,QAAQ,EAAE,YAAY,CAAC;IAEvB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,0BAA0B,CAAC;CACtC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,QAAQ,EAAE,YAAY,CAAC;CACxB;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;AAEzD,0FAA0F;AAC1F,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,uEAAuE;IACvE,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,4FAA4F;IAC5F,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,OAAO;IACtB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAEzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAEvB,QAAQ,EAAE,YAAY,CAAC;IAEvB,OAAO,EAAE,CAAC,EAAE,SAAS,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,aAAa,KAAK,IAAI,CAAC;IAEvF,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,OAAO,CAAC,EAAE,0BAA0B,CAAC;CACtC"}
@@ -1,5 +1,5 @@
1
1
  import { Temporal } from "@js-temporal/polyfill";
2
- import { AllowedTimeRange, TzRange } from "../interfaces";
2
+ import { AllowedTimeRange, RangeDuration, TzRange } from "../interfaces";
3
3
  export declare const DATEFORMAT = "YYYY/MM/DD";
4
4
  export declare const TIMEFORMAT = "HH:mm:ss";
5
5
  export type DateTimeUnit = "second" | "minute" | "hour" | "day";
@@ -20,6 +20,22 @@ export declare const getAllowedDateBounds: (timezone: string | null, allowedTime
20
20
  maxDate: string | undefined;
21
21
  };
22
22
  export declare const validateAllowedDateTime: (date: string, time: string, timezone: string | null, allowedTimeRange?: AllowedTimeRange) => "Date and time must not be before now" | "Date and time must not be after now" | null;
23
+ /** Describes a range duration for messages, e.g. "1 month" or "2 weeks 3 days". */
24
+ export declare const formatRangeDuration: (duration: RangeDuration) => string;
25
+ /** True when end lies further from start than maxRange allows; no limit is never exceeded. */
26
+ export declare const exceedsMaxRange: (start: Temporal.PlainDateTime, end: Temporal.PlainDateTime, maxRange?: RangeDuration) => boolean;
27
+ export declare const validateMaxRange: (startDate: string, startTime: string, endDate: string, endTime: string, maxRange?: RangeDuration) => string | null;
28
+ /**
29
+ * Calendar bounds once a range start is picked: the days within maxRange of it,
30
+ * narrowed further by any existing bounds. Dates are YYYY-MM-DD.
31
+ */
32
+ export declare const getMaxRangeDateBounds: (anchorDate: string, maxRange: RangeDuration | undefined, bounds?: {
33
+ minDate?: string;
34
+ maxDate?: string;
35
+ }) => {
36
+ minDate?: string;
37
+ maxDate?: string;
38
+ };
23
39
  export declare const getPastDateTime: (date: string | null, time: string, amount: number, unit: DateTimeUnit) => {
24
40
  date: string;
25
41
  time: string;
@@ -1 +1 @@
1
- {"version":3,"file":"dateTime.d.ts","sourceRoot":"","sources":["../../src/util/dateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAE1D,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAYhE,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,CAAC,SAAS,WAKvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,QAAQ,CAAC,aAAa,WAGpE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,IAAI,2BAC4B,CAAC;AAE/E,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,WACiB,CAAC;AAEjE,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,WACiB,CAAC;AAEjE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,WACgB,CAAC;AAElE,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,GAAG,IAAI,kBAClB,CAAC;AAErC,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,EAAE,OAAM,cAA0B,WAmBtF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAe,WAIlF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,uBAAsD,CAAC;AAE7F,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,2BACY,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,GAAG,IAAI,EACvB,mBAAkB,gBAAwB;;;CAO3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,UAAU,MAAM,GAAG,IAAI,EACvB,mBAAkB,gBAAwB,0FAe3C,CAAC;AAiBF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,YAAY;;;CAC6B,CAAC;AAElD,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,YAAY;;;CAC4B,CAAC;AAEjD,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,EAAE,YAAY,MAAM,WACO,CAAC;AAErF,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM;;;CAGhD,CAAC"}
1
+ {"version":3,"file":"dateTime.d.ts","sourceRoot":"","sources":["../../src/util/dateTime.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAEzE,eAAO,MAAM,UAAU,eAAe,CAAC;AACvC,eAAO,MAAM,UAAU,aAAa,CAAC;AAErC,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,GAAG,KAAK,CAAC;AAYhE,eAAO,MAAM,eAAe,GAAI,MAAM,QAAQ,CAAC,SAAS,WAKvD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,QAAQ,CAAC,aAAa,WAGpE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,OAAO,MAAM,GAAG,IAAI,2BAC4B,CAAC;AAE/E,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,WACiB,CAAC;AAEjE,eAAO,MAAM,cAAc,GAAI,SAAS,OAAO,WACiB,CAAC;AAEjE,eAAO,MAAM,kBAAkB,GAAI,QAAQ,MAAM,WACgB,CAAC;AAElE,eAAO,MAAM,oBAAoB,GAAI,IAAI,MAAM,GAAG,IAAI,kBAClB,CAAC;AAErC,KAAK,cAAc,GAAG,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAEtD,eAAO,MAAM,oBAAoB,GAAI,SAAS,OAAO,EAAE,OAAM,cAA0B,WAmBtF,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,UAAU,OAAO,CAAC,UAAU,CAAC,EAAE,iBAAe,WAIlF,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,MAAM,MAAM,uBAAsD,CAAC;AAE7F,eAAO,MAAM,aAAa,GAAI,MAAM,MAAM,EAAE,MAAM,MAAM,2BACY,CAAC;AAErE,eAAO,MAAM,oBAAoB,GAC/B,UAAU,MAAM,GAAG,IAAI,EACvB,mBAAkB,gBAAwB;;;CAO3C,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,MAAM,EACZ,MAAM,MAAM,EACZ,UAAU,MAAM,GAAG,IAAI,EACvB,mBAAkB,gBAAwB,0FAe3C,CAAC;AAYF,mFAAmF;AACnF,eAAO,MAAM,mBAAmB,GAAI,UAAU,aAAa,WAG7C,CAAC;AAEf,8FAA8F;AAC9F,eAAO,MAAM,eAAe,GAC1B,OAAO,QAAQ,CAAC,aAAa,EAC7B,KAAK,QAAQ,CAAC,aAAa,EAC3B,WAAW,aAAa,YACqD,CAAC;AAEhF,eAAO,MAAM,gBAAgB,GAC3B,WAAW,MAAM,EACjB,WAAW,MAAM,EACjB,SAAS,MAAM,EACf,SAAS,MAAM,EACf,WAAW,aAAa,kBAIhB,CAAC;AAKX;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAChC,YAAY,MAAM,EAClB,UAAU,aAAa,GAAG,SAAS,EACnC,SAAQ;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAO;cAA/B,MAAM;cAAY,MAAM;CAQ7C,CAAC;AAiBF,eAAO,MAAM,eAAe,GAC1B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,YAAY;;;CAC6B,CAAC;AAElD,eAAO,MAAM,iBAAiB,GAC5B,MAAM,MAAM,GAAG,IAAI,EACnB,MAAM,MAAM,EACZ,QAAQ,MAAM,EACd,MAAM,YAAY;;;CAC4B,CAAC;AAEjD,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,EAAE,SAAS,MAAM,EAAE,YAAY,MAAM,WACO,CAAC;AAErF,eAAO,MAAM,IAAI,GAAI,QAAQ,MAAM,EAAE,MAAM,MAAM;;;CAGhD,CAAC"}
package/package.json CHANGED
@@ -1,10 +1,14 @@
1
1
  {
2
2
  "name": "react-timezone-range-picker",
3
- "version": "0.1.7",
3
+ "version": "0.2.0",
4
4
  "description": "React UI components for building timezone-aware date and time range pickers, powered by Mantine and designed for flexibility.",
5
5
  "author": "Vaibhav Dangra vaibhav1180@gmail.com>",
6
6
  "license": "MIT",
7
- "repository": "https://github.com/GermaVinsmoke/react-timezone-range-picker",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "git+https://github.com/GermaVinsmoke/react-timezone-range-picker.git",
10
+ "directory": "packages/ui"
11
+ },
8
12
  "main": "dist/index.cjs.js",
9
13
  "module": "dist/index.es.js",
10
14
  "types": "dist/index.d.ts",