react-day-picker 9.0.4 → 9.0.6

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 (38) hide show
  1. package/README.md +1 -1
  2. package/dist/cjs/DayPicker.js +2 -6
  3. package/dist/cjs/DayPicker.js.map +1 -1
  4. package/dist/cjs/package.json +1 -0
  5. package/dist/cjs/selection/useRange.js +3 -19
  6. package/dist/cjs/selection/useRange.js.map +1 -1
  7. package/dist/cjs/utils/addToRange.d.ts +6 -2
  8. package/dist/cjs/utils/addToRange.js +68 -24
  9. package/dist/cjs/utils/addToRange.js.map +1 -1
  10. package/dist/esm/DayPicker.js +2 -6
  11. package/dist/esm/DayPicker.js.map +1 -1
  12. package/dist/esm/selection/useRange.js +3 -19
  13. package/dist/esm/selection/useRange.js.map +1 -1
  14. package/dist/esm/utils/addToRange.d.ts +6 -2
  15. package/dist/esm/utils/addToRange.js +68 -24
  16. package/dist/esm/utils/addToRange.js.map +1 -1
  17. package/examples/MultipleRequired.tsx +7 -0
  18. package/examples/RangeMinMax.test.tsx +5 -16
  19. package/examples/RangeMinMax.tsx +5 -6
  20. package/examples/RangeRequired.tsx +30 -0
  21. package/examples/RangeShiftKey.tsx +1 -3
  22. package/examples/__snapshots__/Range.test.tsx.snap +26 -0
  23. package/examples/__snapshots__/StylingCssModules.test.tsx.snap +11 -0
  24. package/examples/index.ts +2 -0
  25. package/package.json +7 -7
  26. package/src/DayPicker.tsx +12 -7
  27. package/src/selection/useRange.test.tsx +2 -2
  28. package/src/selection/useRange.tsx +3 -25
  29. package/src/style.css +11 -5
  30. package/src/style.module.css +12 -6
  31. package/src/utils/addToRange.test.ts +95 -97
  32. package/src/utils/addToRange.ts +64 -28
  33. package/website/docs/docs/accessibility.mdx +1 -1
  34. package/website/docs/docs/selection-modes.mdx +51 -75
  35. package/website/docs/guides/custom-components.mdx +16 -88
  36. package/website/docs/intro.mdx +1 -1
  37. package/website/docs/upgrading.mdx +4 -9
  38. package/website/README.md +0 -25
@@ -8,6 +8,11 @@ import { user } from "@/test/user";
8
8
 
9
9
  import { RangeMinMax } from "./RangeMinMax";
10
10
 
11
+ const today = new Date(2022, 8, 12);
12
+
13
+ beforeAll(() => jest.setSystemTime(today));
14
+ afterAll(() => jest.useRealTimers());
15
+
11
16
  beforeEach(() => render(<RangeMinMax />));
12
17
 
13
18
  describe("when a day is clicked", () => {
@@ -18,22 +23,6 @@ describe("when a day is clicked", () => {
18
23
  test("should be selected", () => {
19
24
  expect(gridcell(firstDay, true)).toHaveAttribute("aria-selected", "true");
20
25
  });
21
- describe("when the day before min is clicked", () => {
22
- const dayAfter = addDays(firstDay, 1);
23
- beforeEach(async () => {
24
- await user.click(dateButton(dayAfter));
25
- });
26
- test("the first day should not be selected", () => {
27
- expect(gridcell(firstDay, true)).not.toHaveAttribute(
28
- "aria-selected",
29
- "true"
30
- );
31
- });
32
- test("the day after should be selected", () => {
33
- expect(gridcell(dayAfter, true)).toHaveAttribute("aria-selected", "true");
34
- });
35
- });
36
-
37
26
  describe("when the day after min is clicked", () => {
38
27
  const dayAfter = addDays(firstDay, 4);
39
28
  beforeEach(async () => {
@@ -9,20 +9,19 @@ export function RangeMinMax() {
9
9
  let footer = `Please pick the first day.`;
10
10
  if (range?.from) {
11
11
  if (!range.to) {
12
- footer = format(range.from, "PPP");
12
+ footer = `${format(range.from, "PPP")}—`;
13
13
  } else if (range.to) {
14
- footer = `${format(range.from, "PPP")}–${format(range.to, "PPP")}`;
14
+ footer = `${format(range.from, "PPP")}—${format(range.to, "PPP")}`;
15
15
  }
16
16
  }
17
17
 
18
18
  return (
19
19
  <div>
20
- <p>Select a range between 3 and 9 days.</p>
20
+ <p>Select up to 6 nights.</p>
21
21
  <DayPicker
22
- defaultMonth={new Date(2022, 8)}
23
22
  mode="range"
24
- min={3}
25
- max={9}
23
+ min={1}
24
+ max={6}
26
25
  selected={range}
27
26
  onSelect={setRange}
28
27
  footer={footer}
@@ -0,0 +1,30 @@
1
+ import React, { useState } from "react";
2
+
3
+ import { addDays, format, startOfMonth } from "date-fns";
4
+ import { DateRange, DayPicker } from "react-day-picker";
5
+
6
+ export function RangeRequired() {
7
+ const [range, setRange] = useState<DateRange>({
8
+ from: startOfMonth(new Date()),
9
+ to: addDays(startOfMonth(new Date()), 4)
10
+ });
11
+
12
+ let footer = `Please pick the first day.`;
13
+ if (range?.from) {
14
+ if (!range.to) {
15
+ footer = `${format(range.from, "PPP")}—`;
16
+ } else if (range.to) {
17
+ footer = `${format(range.from, "PPP")}—${format(range.to, "PPP")}`;
18
+ }
19
+ }
20
+
21
+ return (
22
+ <DayPicker
23
+ mode="range"
24
+ required
25
+ selected={range}
26
+ onSelect={setRange}
27
+ footer={footer}
28
+ />
29
+ );
30
+ }
@@ -13,9 +13,7 @@ function DayWithShiftKey(props: DayButtonProps) {
13
13
 
14
14
  const handleClick: MouseEventHandler<HTMLButtonElement> = (e) => {
15
15
  const requireShiftKey =
16
- selected?.from &&
17
- !selected.to &&
18
- !isSameDay(props.day.date, selected.from);
16
+ selected?.from && !isSameDay(props.day.date, selected.from);
19
17
 
20
18
  if (!e.shiftKey && requireShiftKey) {
21
19
  return;
@@ -136,7 +136,9 @@ exports[`should match the snapshot 1`] = `
136
136
  aria-hidden="true"
137
137
  class="rdp-day rdp-hidden rdp-outside"
138
138
  data-day="2020-05-31"
139
+ data-hidden="true"
139
140
  data-month="2020-05"
141
+ data-outside="true"
140
142
  role="gridcell"
141
143
  >
142
144
  <button
@@ -343,6 +345,7 @@ exports[`should match the snapshot 1`] = `
343
345
  aria-selected="true"
344
346
  class="rdp-day rdp-range_start rdp-selected"
345
347
  data-day="2020-06-15"
348
+ data-selected="true"
346
349
  role="gridcell"
347
350
  >
348
351
  <button
@@ -357,6 +360,7 @@ exports[`should match the snapshot 1`] = `
357
360
  aria-selected="true"
358
361
  class="rdp-day rdp-range_middle rdp-selected"
359
362
  data-day="2020-06-16"
363
+ data-selected="true"
360
364
  role="gridcell"
361
365
  >
362
366
  <button
@@ -371,6 +375,7 @@ exports[`should match the snapshot 1`] = `
371
375
  aria-selected="true"
372
376
  class="rdp-day rdp-range_middle rdp-selected"
373
377
  data-day="2020-06-17"
378
+ data-selected="true"
374
379
  role="gridcell"
375
380
  >
376
381
  <button
@@ -385,6 +390,7 @@ exports[`should match the snapshot 1`] = `
385
390
  aria-selected="true"
386
391
  class="rdp-day rdp-range_middle rdp-selected"
387
392
  data-day="2020-06-18"
393
+ data-selected="true"
388
394
  role="gridcell"
389
395
  >
390
396
  <button
@@ -399,6 +405,7 @@ exports[`should match the snapshot 1`] = `
399
405
  aria-selected="true"
400
406
  class="rdp-day rdp-range_end rdp-selected"
401
407
  data-day="2020-06-19"
408
+ data-selected="true"
402
409
  role="gridcell"
403
410
  >
404
411
  <button
@@ -566,7 +573,9 @@ exports[`should match the snapshot 1`] = `
566
573
  aria-hidden="true"
567
574
  class="rdp-day rdp-hidden rdp-outside"
568
575
  data-day="2020-07-01"
576
+ data-hidden="true"
569
577
  data-month="2020-07"
578
+ data-outside="true"
570
579
  role="gridcell"
571
580
  >
572
581
  <button
@@ -581,7 +590,9 @@ exports[`should match the snapshot 1`] = `
581
590
  aria-hidden="true"
582
591
  class="rdp-day rdp-hidden rdp-outside"
583
592
  data-day="2020-07-02"
593
+ data-hidden="true"
584
594
  data-month="2020-07"
595
+ data-outside="true"
585
596
  role="gridcell"
586
597
  >
587
598
  <button
@@ -596,7 +607,9 @@ exports[`should match the snapshot 1`] = `
596
607
  aria-hidden="true"
597
608
  class="rdp-day rdp-hidden rdp-outside"
598
609
  data-day="2020-07-03"
610
+ data-hidden="true"
599
611
  data-month="2020-07"
612
+ data-outside="true"
600
613
  role="gridcell"
601
614
  >
602
615
  <button
@@ -611,7 +624,9 @@ exports[`should match the snapshot 1`] = `
611
624
  aria-hidden="true"
612
625
  class="rdp-day rdp-hidden rdp-outside"
613
626
  data-day="2020-07-04"
627
+ data-hidden="true"
614
628
  data-month="2020-07"
629
+ data-outside="true"
615
630
  role="gridcell"
616
631
  >
617
632
  <button
@@ -774,7 +789,9 @@ exports[`when a day in the range is clicked when the day is clicked again when a
774
789
  aria-hidden="true"
775
790
  class="rdp-day rdp-hidden rdp-outside"
776
791
  data-day="2020-05-31"
792
+ data-hidden="true"
777
793
  data-month="2020-05"
794
+ data-outside="true"
778
795
  role="gridcell"
779
796
  >
780
797
  <button
@@ -1006,6 +1023,7 @@ exports[`when a day in the range is clicked when the day is clicked again when a
1006
1023
  <td
1007
1024
  class="rdp-day rdp-focused"
1008
1025
  data-day="2020-06-17"
1026
+ data-focused="true"
1009
1027
  role="gridcell"
1010
1028
  >
1011
1029
  <button
@@ -1199,7 +1217,9 @@ exports[`when a day in the range is clicked when the day is clicked again when a
1199
1217
  aria-hidden="true"
1200
1218
  class="rdp-day rdp-hidden rdp-outside"
1201
1219
  data-day="2020-07-01"
1220
+ data-hidden="true"
1202
1221
  data-month="2020-07"
1222
+ data-outside="true"
1203
1223
  role="gridcell"
1204
1224
  >
1205
1225
  <button
@@ -1214,7 +1234,9 @@ exports[`when a day in the range is clicked when the day is clicked again when a
1214
1234
  aria-hidden="true"
1215
1235
  class="rdp-day rdp-hidden rdp-outside"
1216
1236
  data-day="2020-07-02"
1237
+ data-hidden="true"
1217
1238
  data-month="2020-07"
1239
+ data-outside="true"
1218
1240
  role="gridcell"
1219
1241
  >
1220
1242
  <button
@@ -1229,7 +1251,9 @@ exports[`when a day in the range is clicked when the day is clicked again when a
1229
1251
  aria-hidden="true"
1230
1252
  class="rdp-day rdp-hidden rdp-outside"
1231
1253
  data-day="2020-07-03"
1254
+ data-hidden="true"
1232
1255
  data-month="2020-07"
1256
+ data-outside="true"
1233
1257
  role="gridcell"
1234
1258
  >
1235
1259
  <button
@@ -1244,7 +1268,9 @@ exports[`when a day in the range is clicked when the day is clicked again when a
1244
1268
  aria-hidden="true"
1245
1269
  class="rdp-day rdp-hidden rdp-outside"
1246
1270
  data-day="2020-07-04"
1271
+ data-hidden="true"
1247
1272
  data-month="2020-07"
1273
+ data-outside="true"
1248
1274
  role="gridcell"
1249
1275
  >
1250
1276
  <button
@@ -137,7 +137,9 @@ exports[`should match the snapshot 1`] = `
137
137
  aria-hidden="true"
138
138
  class="rdp-day rdp-hidden rdp-outside"
139
139
  data-day="2021-10-31"
140
+ data-hidden="true"
140
141
  data-month="2021-10"
142
+ data-outside="true"
141
143
  role="gridcell"
142
144
  >
143
145
  <button
@@ -478,6 +480,7 @@ exports[`should match the snapshot 1`] = `
478
480
  <td
479
481
  class="rdp-day rdp-today"
480
482
  data-day="2021-11-25"
483
+ data-today="true"
481
484
  role="gridcell"
482
485
  >
483
486
  <button
@@ -562,7 +565,9 @@ exports[`should match the snapshot 1`] = `
562
565
  aria-hidden="true"
563
566
  class="rdp-day rdp-hidden rdp-outside"
564
567
  data-day="2021-12-01"
568
+ data-hidden="true"
565
569
  data-month="2021-12"
570
+ data-outside="true"
566
571
  role="gridcell"
567
572
  >
568
573
  <button
@@ -577,7 +582,9 @@ exports[`should match the snapshot 1`] = `
577
582
  aria-hidden="true"
578
583
  class="rdp-day rdp-hidden rdp-outside"
579
584
  data-day="2021-12-02"
585
+ data-hidden="true"
580
586
  data-month="2021-12"
587
+ data-outside="true"
581
588
  role="gridcell"
582
589
  >
583
590
  <button
@@ -592,7 +599,9 @@ exports[`should match the snapshot 1`] = `
592
599
  aria-hidden="true"
593
600
  class="rdp-day rdp-hidden rdp-outside"
594
601
  data-day="2021-12-03"
602
+ data-hidden="true"
595
603
  data-month="2021-12"
604
+ data-outside="true"
596
605
  role="gridcell"
597
606
  >
598
607
  <button
@@ -607,7 +616,9 @@ exports[`should match the snapshot 1`] = `
607
616
  aria-hidden="true"
608
617
  class="rdp-day rdp-hidden rdp-outside"
609
618
  data-day="2021-12-04"
619
+ data-hidden="true"
610
620
  data-month="2021-12"
621
+ data-outside="true"
611
622
  role="gridcell"
612
623
  >
613
624
  <button
package/examples/index.ts CHANGED
@@ -38,6 +38,7 @@ export * from "./ModifiersStyle";
38
38
  export * from "./ModifiersToday";
39
39
  export * from "./Multiple";
40
40
  export * from "./MultipleMinMax";
41
+ export * from "./MultipleRequired";
41
42
  export * from "./MultipleMonths";
42
43
  export * from "./MultipleMonthsPaged";
43
44
  export * from "./NumberingSystem";
@@ -45,6 +46,7 @@ export * from "./OutsideDays";
45
46
  export * from "./Range";
46
47
  export * from "./RangeExcludeDisabled";
47
48
  export * from "./RangeMinMax";
49
+ export * from "./RangeRequired";
48
50
  export * from "./RangeShiftKey";
49
51
  export * from "./Rtl";
50
52
  export * from "./Single";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-day-picker",
3
- "version": "9.0.4",
3
+ "version": "9.0.6",
4
4
  "description": "Customizable Date Picker for React",
5
5
  "author": "Giampaolo Bellavite <io@gpbl.dev>",
6
6
  "homepage": "https://daypicker.dev",
@@ -113,7 +113,7 @@
113
113
  "scripts": {
114
114
  "prepublish": "pnpm build",
115
115
  "build": "pnpm build:cjs && pnpm build:esm && pnpm build:css",
116
- "build:cjs": "tsc --project tsconfig-cjs.json",
116
+ "build:cjs": "tsc --project tsconfig-cjs.json && echo '{ \"type\": \"commonjs\" }' > dist/cjs/package.json",
117
117
  "build:esm": "tsc --project tsconfig-esm.json",
118
118
  "build:css": "./scripts/build-css.sh ./src/style.css ./src/style.module.css",
119
119
  "lint": "eslint .",
@@ -136,16 +136,16 @@
136
136
  "@date-fns/utc": "^1.2.0",
137
137
  "@jest/types": "^29.6.3",
138
138
  "@testing-library/dom": "^10.4.0",
139
- "@testing-library/jest-dom": "^6.4.5",
139
+ "@testing-library/jest-dom": "^6.4.8",
140
140
  "@testing-library/react": "^16.0.0",
141
141
  "@testing-library/user-event": "^14.5.2",
142
142
  "@trivago/prettier-plugin-sort-imports": "^4.3.0",
143
143
  "@types/jest": "^29.5.12",
144
- "@types/node": "^20.14.10",
144
+ "@types/node": "^22.0.0",
145
145
  "@types/react": "^18.3.3",
146
146
  "@types/react-dom": "^18.3.0",
147
- "@typescript-eslint/eslint-plugin": "^7.16.1",
148
- "@typescript-eslint/parser": "^7.16.0",
147
+ "@typescript-eslint/eslint-plugin": "^7.18.0",
148
+ "@typescript-eslint/parser": "^7.18.0",
149
149
  "date-fns": "^3.6.0",
150
150
  "date-fns-jalali": "3.6.0-1",
151
151
  "eslint": "^8.57.0",
@@ -169,7 +169,7 @@
169
169
  "ts-jest": "^29.2.3",
170
170
  "ts-node": "^10.9.2",
171
171
  "tslib": "^2.6.3",
172
- "typescript": "~5.5.3",
172
+ "typescript": "~5.5.4",
173
173
  "typescript-css-modules": "^1.0.4"
174
174
  },
175
175
  "peerDependencies": {
package/src/DayPicker.tsx CHANGED
@@ -531,12 +531,6 @@ export function DayPicker(props: DayPickerProps) {
531
531
  )
532
532
  : undefined;
533
533
 
534
- const dataAttributes = {
535
- "data-day": dateLib.format(date, "yyyy-MM-dd"),
536
- "data-month": day.outside
537
- ? dateLib.format(date, "yyyy-MM")
538
- : undefined
539
- };
540
534
  return (
541
535
  <components.Day
542
536
  key={`${dateLib.format(date, "yyyy-MM-dd")}_${dateLib.format(day.displayMonth, "yyyy-MM")}`}
@@ -548,7 +542,18 @@ export function DayPicker(props: DayPickerProps) {
548
542
  aria-hidden={modifiers.hidden || undefined}
549
543
  aria-selected={modifiers.selected || undefined}
550
544
  aria-label={ariaLabel}
551
- {...dataAttributes}
545
+ data-day={dateLib.format(date, "yyyy-MM-dd")}
546
+ data-month={
547
+ day.outside
548
+ ? dateLib.format(date, "yyyy-MM")
549
+ : undefined
550
+ }
551
+ data-selected={modifiers.selected || undefined}
552
+ data-disabled={modifiers.disabled || undefined}
553
+ data-hidden={modifiers.hidden || undefined}
554
+ data-outside={day.outside || undefined}
555
+ data-focused={modifiers.focused || undefined}
556
+ data-today={modifiers.today || undefined}
552
557
  >
553
558
  {isInteractive ? (
554
559
  <components.DayButton
@@ -90,7 +90,7 @@ describe("useRange", () => {
90
90
 
91
91
  expect(result.current.selected).toEqual({
92
92
  from: new Date(2023, 6, 10),
93
- to: undefined
93
+ to: new Date(2023, 6, 10)
94
94
  });
95
95
  });
96
96
 
@@ -135,7 +135,7 @@ describe("useRange", () => {
135
135
 
136
136
  expect(result.current.selected).toEqual({
137
137
  from: new Date(2023, 6, 10),
138
- to: undefined
138
+ to: new Date(2023, 6, 10)
139
139
  });
140
140
  });
141
141
  });
@@ -24,7 +24,6 @@ export function useRange<T extends DayPickerProps>(
24
24
  onSelect
25
25
  } = props as PropsRange;
26
26
 
27
- const { differenceInCalendarDays } = dateLib;
28
27
  const [selected, setSelected] = React.useState<DateRange | undefined>(
29
28
  initiallySelected
30
29
  );
@@ -49,32 +48,10 @@ export function useRange<T extends DayPickerProps>(
49
48
  modifiers: Modifiers,
50
49
  e: React.MouseEvent | React.KeyboardEvent
51
50
  ) => {
51
+ const { min, max } = props as PropsRange;
52
52
  const newRange = triggerDate
53
- ? addToRange(triggerDate, selected, dateLib)
53
+ ? addToRange(triggerDate, selected, min, max, required, dateLib)
54
54
  : undefined;
55
- const { min, max } = props as PropsRange;
56
-
57
- if (min) {
58
- if (
59
- newRange?.from &&
60
- newRange.to &&
61
- differenceInCalendarDays(newRange.to, newRange.from) < min - 1
62
- ) {
63
- newRange.from = triggerDate;
64
- newRange.to = undefined;
65
- }
66
- }
67
-
68
- if (max) {
69
- if (
70
- newRange?.from &&
71
- newRange.to &&
72
- differenceInCalendarDays(newRange.to, newRange.from) >= max
73
- ) {
74
- newRange.from = triggerDate;
75
- newRange.to = undefined;
76
- }
77
- }
78
55
 
79
56
  if (newRange?.from && newRange.to) {
80
57
  let newDate = newRange.from;
@@ -85,6 +62,7 @@ export function useRange<T extends DayPickerProps>(
85
62
  disabled &&
86
63
  dateMatchModifiers(newDate, disabled, dateLib)
87
64
  ) {
65
+ // if a disabled days is found, the range is reset
88
66
  newRange.from = triggerDate;
89
67
  newRange.to = undefined;
90
68
  break;
package/src/style.css CHANGED
@@ -49,7 +49,8 @@
49
49
  --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */
50
50
  --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */
51
51
  --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */
52
-
52
+ --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */
53
+
53
54
  --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */
54
55
  --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */
55
56
  --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */
@@ -207,6 +208,10 @@
207
208
  max-width: fit-content;
208
209
  }
209
210
 
211
+ .rdp-month_grid {
212
+ border-collapse: collapse;
213
+ }
214
+
210
215
  .rdp-nav {
211
216
  position: absolute;
212
217
  inset-block-start: 0;
@@ -233,10 +238,7 @@
233
238
  width: var(--rdp-week_number-width);
234
239
  border: var(--rdp-week_number-border);
235
240
  border-radius: var(--rdp-week_number-border-radius);
236
- }
237
-
238
- .rdp-week_number_interactive {
239
- cursor: pointer;
241
+ text-align: var(--rdp-weeknumber-text-align);
240
242
  }
241
243
 
242
244
  /* DAY MODIFIERS */
@@ -296,6 +298,10 @@
296
298
  background-color: var(--rdp-range_end-date-background-color);
297
299
  }
298
300
 
301
+ .rdp-range_start.rdp-range_end {
302
+ background: revert;
303
+ }
304
+
299
305
  .rdp-focusable {
300
306
  cursor: pointer;
301
307
  }
@@ -49,7 +49,8 @@
49
49
  --rdp-week_number-height: var(--rdp-day-height); /* The height of the week number cells. */
50
50
  --rdp-week_number-opacity: 0.75; /* The opacity of the week number. */
51
51
  --rdp-week_number-width: var(--rdp-day-width); /* The width of the week number cells. */
52
-
52
+ --rdp-weeknumber-text-align: center; /* The text alignment of the weekday cells. */
53
+
53
54
  --rdp-weekday-font: 500 smaller var(--rdp-font-family); /* The font of the weekday. */
54
55
  --rdp-weekday-opacity: 0.75; /* The opacity of the weekday. */
55
56
  --rdp-weekday-padding: 0.5rem 0rem; /* The padding of the weekday. */
@@ -207,6 +208,10 @@
207
208
  max-width: fit-content;
208
209
  }
209
210
 
211
+ .month_grid {
212
+ border-collapse: collapse;
213
+ }
214
+
210
215
  .nav {
211
216
  position: absolute;
212
217
  inset-block-start: 0;
@@ -233,10 +238,7 @@
233
238
  width: var(--rdp-week_number-width);
234
239
  border: var(--rdp-week_number-border);
235
240
  border-radius: var(--rdp-week_number-border-radius);
236
- }
237
-
238
- .week_number_interactive {
239
- cursor: pointer;
241
+ text-align: var(--rdp-weeknumber-text-align);
240
242
  }
241
243
 
242
244
  /* DAY MODIFIERS */
@@ -262,7 +264,7 @@
262
264
 
263
265
  .hidden {
264
266
  visibility: hidden;
265
- color: var(end-range_start-color);
267
+ color: var(--rdp-range_start-color);
266
268
  }
267
269
 
268
270
  .range_start {
@@ -296,6 +298,10 @@
296
298
  background-color: var(--rdp-range_end-date-background-color);
297
299
  }
298
300
 
301
+ .range_start.range_end {
302
+ background: revert;
303
+ }
304
+
299
305
  .focusable {
300
306
  cursor: pointer;
301
307
  }