diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index 59d424676d8..77ea9443b07 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -58,7 +58,7 @@ "rc-time-picker": "^3.7.3", "react": "17.0.1", "react-beautiful-dnd": "13.1.0", - "react-calendar": "2.19.2", + "react-calendar": "3.4.0", "react-colorful": "5.1.2", "react-custom-scrollbars-2": "4.4.0", "react-dom": "17.0.1", @@ -101,6 +101,7 @@ "@types/papaparse": "5.2.0", "@types/react": "16.9.9", "@types/react-beautiful-dnd": "13.1.1", + "@types/react-calendar": "^3.4.3", "@types/react-color": "3.0.1", "@types/react-router-dom": "^5.1.7", "@types/react-select": "4.0.13", diff --git a/packages/grafana-ui/src/components/DateTimePickers/DatePicker/DatePicker.tsx b/packages/grafana-ui/src/components/DateTimePickers/DatePicker/DatePicker.tsx index c33427f5b76..1412a27c9b7 100644 --- a/packages/grafana-ui/src/components/DateTimePickers/DatePicker/DatePicker.tsx +++ b/packages/grafana-ui/src/components/DateTimePickers/DatePicker/DatePicker.tsx @@ -1,5 +1,5 @@ import React, { memo } from 'react'; -import Calendar from 'react-calendar/dist/entry.nostyle'; +import Calendar from 'react-calendar'; import { css } from 'emotion'; import { GrafanaTheme2 } from '@grafana/data'; import { useStyles2 } from '../../../themes'; @@ -45,7 +45,7 @@ const Body = memo(({ value, onChange }) => { value={value || new Date()} nextLabel={} prevLabel={} - onChange={(ev) => { + onChange={(ev: Date | Date[]) => { if (!Array.isArray(ev)) { onChange(ev); } diff --git a/packages/grafana-ui/src/components/DateTimePickers/DateTimePicker/DateTimePicker.tsx b/packages/grafana-ui/src/components/DateTimePickers/DateTimePicker/DateTimePicker.tsx index 3bdddaabdd3..f08eafb68d9 100644 --- a/packages/grafana-ui/src/components/DateTimePickers/DateTimePicker/DateTimePicker.tsx +++ b/packages/grafana-ui/src/components/DateTimePickers/DateTimePicker/DateTimePicker.tsx @@ -1,6 +1,6 @@ import React, { FC, FormEvent, ReactNode, useCallback, useEffect, useState } from 'react'; import { useMedia } from 'react-use'; -import Calendar from 'react-calendar/dist/entry.nostyle'; +import Calendar from 'react-calendar'; import { css, cx } from '@emotion/css'; import { dateTimeFormat, DateTime, dateTime, GrafanaTheme2, isDateTime } from '@grafana/data'; import { Button, ClickOutsideWrapper, HorizontalGroup, Icon, InlineField, Input, Portal } from '../..'; diff --git a/packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/TimePickerCalendar.tsx b/packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/TimePickerCalendar.tsx index e4d97a3415c..4c9a32b627b 100644 --- a/packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/TimePickerCalendar.tsx +++ b/packages/grafana-ui/src/components/DateTimePickers/TimeRangePicker/TimePickerCalendar.tsx @@ -1,6 +1,6 @@ import React, { FormEvent, memo, useCallback } from 'react'; import { css } from '@emotion/css'; -import Calendar from 'react-calendar/dist/entry.nostyle'; +import Calendar from 'react-calendar'; import { dateTime, DateTime, dateTimeParse, GrafanaTheme2, TimeZone } from '@grafana/data'; import { stylesFactory, useTheme2 } from '../../../themes'; import { TimePickerTitle } from './TimePickerTitle'; diff --git a/yarn.lock b/yarn.lock index a972146b517..d0cd227d6ba 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5253,6 +5253,13 @@ dependencies: "@types/react" "*" +"@types/react-calendar@^3.4.3": + version "3.4.3" + resolved "https://registry.yarnpkg.com/@types/react-calendar/-/react-calendar-3.4.3.tgz#f2475519b44a1495562c526556074df947ce5bc6" + integrity sha512-k56OS9d62/g3OCTepULEpNoClVUKuWxHBBuKS4hX8/qNiNup+Gf1Qn0SXHakbqBGWEfdLK93RlIRy5XOA4+Iaw== + dependencies: + "@types/react" "*" + "@types/react-color@3.0.1": version "3.0.1" resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.1.tgz#5433e2f503ea0e0831cbc6fd0c20f8157d93add0" @@ -6279,6 +6286,11 @@ dependencies: lodash "^4" +"@wojtekmaj/date-utils@^1.0.2": + version "1.0.3" + resolved "https://registry.yarnpkg.com/@wojtekmaj/date-utils/-/date-utils-1.0.3.tgz#2dcfd92881425c5923e429c2aec86fb3609032a1" + integrity sha512-1VPkkTBk07gMR1fjpBtse4G+oJqpmE+0gUFB0dg3VIL7qJmUVaBoD/vlzMm/jNeOPfvlmerl1lpnsZyBUFIRuw== + "@wojtekmaj/enzyme-adapter-react-17@0.6.2": version "0.6.2" resolved "https://registry.yarnpkg.com/@wojtekmaj/enzyme-adapter-react-17/-/enzyme-adapter-react-17-0.6.2.tgz#7f05a91e6b374ba94ab10467802346198403d3e1" @@ -19951,15 +19963,15 @@ react-beautiful-dnd@13.1.0: redux "^4.0.4" use-memo-one "^1.1.1" -react-calendar@2.19.2: - version "2.19.2" - resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-2.19.2.tgz#496e78eb11a00aee1ae6b5d02d221ed1ca2db952" - integrity sha512-zKbWxwmYEg84grFsCJz9EYpnGqsZy0iV67dHzkVE0EhBdXMg2eISBQYvw4+t8zdy5ySxQkDhUW8X8ERbSyZPVw== +react-calendar@3.4.0: + version "3.4.0" + resolved "https://registry.yarnpkg.com/react-calendar/-/react-calendar-3.4.0.tgz#25396ca0992b3b2042abca334515f6ff4d9878bc" + integrity sha512-ykbvXASArQQ8KZlCEXEdE+w+KFGSj7kDpdTRzbLVJeN26oUIu+EFavFDAqg4G//zTO0tSq5SMfqAa6fjrdGQjQ== dependencies: + "@wojtekmaj/date-utils" "^1.0.2" get-user-locale "^1.2.0" merge-class-names "^1.1.1" prop-types "^15.6.0" - react-lifecycles-compat "^3.0.4" react-colorful@5.1.2: version "5.1.2"