Skip to content

Commit 5a44660

Browse files
authored
Update date picker version and tweak layout logic (#1105)
* fix: update date picker version and tweak layout logic * feat: set start month based on selected date
1 parent ad808f6 commit 5a44660

File tree

4 files changed

+74
-19
lines changed

4 files changed

+74
-19
lines changed

ui/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
"leaflet": "^1.9.3",
3030
"lodash": "^4.17.21",
3131
"lucide-react": "^0.454.0",
32-
"nova-ui-kit": "^1.1.32",
32+
"nova-ui-kit": "^1.1.33",
3333
"plotly.js": "^2.25.2",
3434
"react": "^18.2.0",
3535
"react-dom": "^18.2.0",

ui/src/design-system/components/page-footer/page-footer.module.scss

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
width: 100%;
99
background-color: $color-generic-white;
1010
border-top: 1px solid $color-neutral-100;
11-
z-index: 2;
11+
z-index: 50;
1212
}
1313

1414
.content {

ui/src/design-system/components/select/date-picker.tsx

Lines changed: 19 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import { format } from 'date-fns'
22
import { AlertCircleIcon, Calendar as CalendarIcon } from 'lucide-react'
33
import { Button, Calendar, Popover } from 'nova-ui-kit'
4-
import { useState } from 'react'
4+
import { useEffect, useMemo, useState } from 'react'
55

66
const dateToLabel = (date: Date) => {
77
try {
@@ -21,7 +21,15 @@ export const DatePicker = ({
2121
value?: string
2222
}) => {
2323
const [open, setOpen] = useState(false)
24-
const selected = value ? new Date(value) : undefined
24+
const selected = useMemo(() => (value ? new Date(value) : undefined), [value])
25+
const [month, setMonth] = useState(selected)
26+
27+
/* Reset start month on date picker close */
28+
useEffect(() => {
29+
if (!open) {
30+
setMonth(selected)
31+
}
32+
}, [open, selected])
2533

2634
const triggerLabel = (() => {
2735
if (!value) {
@@ -50,10 +58,18 @@ export const DatePicker = ({
5058
</>
5159
</Button>
5260
</Popover.Trigger>
53-
<Popover.Content className="w-auto p-0 overflow-hidden">
61+
<Popover.Content
62+
/* Force calendar to go below trigger to keep position stable for navigation controls */
63+
avoidCollisions={false}
64+
className="w-auto p-0 overflow-hidden"
65+
side="bottom"
66+
>
5467
<Calendar
68+
captionLayout="dropdown"
5569
mode="single"
70+
month={month}
5671
selected={selected}
72+
onMonthChange={setMonth}
5773
onSelect={(date) => {
5874
if (date) {
5975
onValueChange(dateToLabel(date))

ui/yarn.lock

Lines changed: 53 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,13 @@ __metadata:
668668
languageName: node
669669
linkType: hard
670670

671+
"@date-fns/tz@npm:^1.4.1":
672+
version: 1.4.1
673+
resolution: "@date-fns/tz@npm:1.4.1"
674+
checksum: 9033fdc4682fe3d4d147625ce04fa88a8792653594e2de8d5a438c8f3bfc0990ee28fe773f91cac6810b06d818b5b281ae0608752ba8337257d0279ded3f019a
675+
languageName: node
676+
linkType: hard
677+
671678
"@esbuild/android-arm64@npm:0.18.20":
672679
version: 0.18.20
673680
resolution: "@esbuild/android-arm64@npm:0.18.20"
@@ -3330,7 +3337,7 @@ __metadata:
33303337
languageName: node
33313338
linkType: hard
33323339

3333-
"@radix-ui/react-slot@npm:1.1.0, @radix-ui/react-slot@npm:^1.1.0":
3340+
"@radix-ui/react-slot@npm:1.1.0":
33343341
version: 1.1.0
33353342
resolution: "@radix-ui/react-slot@npm:1.1.0"
33363343
dependencies:
@@ -3390,6 +3397,21 @@ __metadata:
33903397
languageName: node
33913398
linkType: hard
33923399

3400+
"@radix-ui/react-slot@npm:^1.2.4":
3401+
version: 1.2.4
3402+
resolution: "@radix-ui/react-slot@npm:1.2.4"
3403+
dependencies:
3404+
"@radix-ui/react-compose-refs": "npm:1.1.2"
3405+
peerDependencies:
3406+
"@types/react": "*"
3407+
react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc
3408+
peerDependenciesMeta:
3409+
"@types/react":
3410+
optional: true
3411+
checksum: 8b719bb934f1ae5ac0e37214783085c17c2f1080217caf514c1c6cc3d9ca56c7e19d25470b26da79aa6e605ab36589edaade149b76f5fc0666f1063e2fc0a0dc
3412+
languageName: node
3413+
linkType: hard
3414+
33933415
"@radix-ui/react-switch@npm:^1.2.6":
33943416
version: 1.2.6
33953417
resolution: "@radix-ui/react-switch@npm:1.2.6"
@@ -5096,7 +5118,7 @@ __metadata:
50965118
leaflet: "npm:^1.9.3"
50975119
lodash: "npm:^4.17.21"
50985120
lucide-react: "npm:^0.454.0"
5099-
nova-ui-kit: "npm:^1.1.32"
5121+
nova-ui-kit: "npm:^1.1.33"
51005122
plotly.js: "npm:^2.25.2"
51015123
postcss: "npm:^8.4.47"
51025124
prettier: "npm:2.8.4"
@@ -6434,13 +6456,27 @@ __metadata:
64346456
languageName: node
64356457
linkType: hard
64366458

6459+
"date-fns-jalali@npm:^4.1.0-0":
6460+
version: 4.1.0-0
6461+
resolution: "date-fns-jalali@npm:4.1.0-0"
6462+
checksum: f9ad98d9f7e8e5abe0d070dc806b0c8baded2b1208626c42e92cbd2605b5171f5714d6b79b20cc2666267d821699244c9d0b5e93274106cf57d6232da77596ed
6463+
languageName: node
6464+
linkType: hard
6465+
64376466
"date-fns@npm:^3.6.0":
64386467
version: 3.6.0
64396468
resolution: "date-fns@npm:3.6.0"
64406469
checksum: 0b5fb981590ef2f8e5a3ba6cd6d77faece0ea7f7158948f2eaae7bbb7c80a8f63ae30b01236c2923cf89bb3719c33aeb150c715ea4fe4e86e37dcf06bed42fb6
64416470
languageName: node
64426471
linkType: hard
64436472

6473+
"date-fns@npm:^4.1.0":
6474+
version: 4.1.0
6475+
resolution: "date-fns@npm:4.1.0"
6476+
checksum: b79ff32830e6b7faa009590af6ae0fb8c3fd9ffad46d930548fbb5acf473773b4712ae887e156ba91a7b3dc30591ce0f517d69fd83bd9c38650fdc03b4e0bac8
6477+
languageName: node
6478+
linkType: hard
6479+
64446480
"debug@npm:2":
64456481
version: 2.6.9
64466482
resolution: "debug@npm:2.6.9"
@@ -10473,16 +10509,16 @@ __metadata:
1047310509
languageName: node
1047410510
linkType: hard
1047510511

10476-
"nova-ui-kit@npm:^1.1.32":
10477-
version: 1.1.32
10478-
resolution: "nova-ui-kit@npm:1.1.32"
10512+
"nova-ui-kit@npm:^1.1.33":
10513+
version: 1.1.33
10514+
resolution: "nova-ui-kit@npm:1.1.33"
1047910515
dependencies:
1048010516
"@radix-ui/react-checkbox": "npm:^1.1.4"
1048110517
"@radix-ui/react-collapsible": "npm:^1.1.1"
1048210518
"@radix-ui/react-popover": "npm:^1.1.2"
1048310519
"@radix-ui/react-select": "npm:^2.1.2"
1048410520
"@radix-ui/react-slider": "npm:^1.2.1"
10485-
"@radix-ui/react-slot": "npm:^1.1.0"
10521+
"@radix-ui/react-slot": "npm:^1.2.4"
1048610522
"@radix-ui/react-switch": "npm:^1.2.6"
1048710523
"@radix-ui/react-tooltip": "npm:^1.1.6"
1048810524
class-variance-authority: "npm:^0.7.0"
@@ -10491,11 +10527,11 @@ __metadata:
1049110527
date-fns: "npm:^3.6.0"
1049210528
lucide-react: "npm:^0.452.0"
1049310529
react: "npm:^18.3.1"
10494-
react-day-picker: "npm:^8.10.1"
10530+
react-day-picker: "npm:^9.13.0"
1049510531
react-dom: "npm:^18.3.1"
1049610532
tailwind-merge: "npm:^2.5.4"
1049710533
tailwindcss-animate: "npm:^1.0.7"
10498-
checksum: 8c356c554db489c1a0ba5aee2e232be5bc387ccadd2e0c624169089640afa4f78c92309edb214e7d580ca9a5b9bb611294d7d6278856e3fd73b04c9dbbea4a9b
10534+
checksum: a29d22052a4f83a6b997e6bb66f4226625b7dbd05faf4f03824af8b353cf75e7a25ffbe06aafe91b8d3cf6e51b5febba1f013cce3c60faae669278c7f4ccbae2
1049910535
languageName: node
1050010536
linkType: hard
1050110537

@@ -11255,13 +11291,16 @@ __metadata:
1125511291
languageName: node
1125611292
linkType: hard
1125711293

11258-
"react-day-picker@npm:^8.10.1":
11259-
version: 8.10.1
11260-
resolution: "react-day-picker@npm:8.10.1"
11294+
"react-day-picker@npm:^9.13.0":
11295+
version: 9.13.0
11296+
resolution: "react-day-picker@npm:9.13.0"
11297+
dependencies:
11298+
"@date-fns/tz": "npm:^1.4.1"
11299+
date-fns: "npm:^4.1.0"
11300+
date-fns-jalali: "npm:^4.1.0-0"
1126111301
peerDependencies:
11262-
date-fns: ^2.28.0 || ^3.0.0
11263-
react: ^16.8.0 || ^17.0.0 || ^18.0.0
11264-
checksum: a0ff28c4b61b3882e6a825b19e5679e2fdf3256cf1be8eb0a0c028949815c1ae5a6561474c2c19d231c010c8e0e0b654d3a322610881e0655abca05a2e03d9df
11302+
react: ">=16.8.0"
11303+
checksum: e176309a24697f6552c80c7fde257f3dc06506a4e5ec22b11b55bf136bd452ab98d2ca9c2a17632092d67d23d08b3b35daf77d99e95a937ad290d3322abc745c
1126511304
languageName: node
1126611305
linkType: hard
1126711306

0 commit comments

Comments
 (0)