@equinor/eds-core-react 0.41.1 → 0.41.2

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.
@@ -11193,23 +11193,58 @@ const GridColumn = styled__default.default.button.withConfig({
11193
11193
  })(["background-color:transparent;outline:none;border:none;display:flex;justify-content:center;cursor:pointer;padding:8px;font-size:", ";font-family:", ";font-weight:", ";line-height:", ";color:", ";border-radius:999px;", ";&:hover{background-color:#f0f0f0;}&:focus{outline:2px dashed ", ";}"], edsTokens.tokens.typography.navigation.button.fontSize, edsTokens.tokens.typography.navigation.button.fontFamily, edsTokens.tokens.typography.navigation.button.fontWeight, edsTokens.tokens.typography.navigation.button.lineHeight, edsTokens.tokens.colors.text.static_icons__default.rgba, ({
11194
11194
  $active
11195
11195
  }) => $active ? `background-color: ${edsTokens.tokens.colors.interactive.primary__selected_highlight.rgba}` : '', edsTokens.tokens.colors.interactive.primary__resting.rgba);
11196
+ const TOTAL_VISIBLE_YEARS = 36;
11197
+ const RANGE_OFFSET = 30 / 2;
11196
11198
  const GridFocusManager = ({
11197
11199
  year: selectedYear,
11198
- setFocusedYear
11200
+ setFocusedYear,
11201
+ yearPickerPage,
11202
+ setYearPickerPage
11199
11203
  }) => {
11200
11204
  const focusManager = reactAria.useFocusManager();
11201
- const onKeyDown = e => {
11205
+ const prevYear = react.useRef();
11206
+ const navByKeyboard = react.useRef(false);
11207
+ const page = yearPickerPage * TOTAL_VISIBLE_YEARS;
11208
+ const years = Array.from({
11209
+ length: TOTAL_VISIBLE_YEARS
11210
+ }, (_, i) => i + (selectedYear + page - RANGE_OFFSET));
11211
+ react.useEffect(() => {
11212
+ if (prevYear.current === undefined) {
11213
+ prevYear.current = yearPickerPage;
11214
+ return;
11215
+ }
11216
+ if (!navByKeyboard.current) {
11217
+ focusManager.focusFirst();
11218
+ return;
11219
+ }
11220
+ navByKeyboard.current = false;
11221
+ yearPickerPage > prevYear.current ? focusManager.focusFirst() : focusManager.focusLast();
11222
+ prevYear.current = yearPickerPage;
11223
+ }, [yearPickerPage, focusManager]);
11224
+ const onKeyDown = year => e => {
11202
11225
  const target = e.currentTarget;
11203
11226
  const parent = target.parentElement;
11227
+ const isFirstYear = years.at(0) === year;
11228
+ const isLastYear = years.at(-1) === year;
11204
11229
  switch (e.key) {
11205
11230
  case 'ArrowRight':
11206
11231
  e.preventDefault();
11232
+ if (isLastYear) {
11233
+ navByKeyboard.current = true;
11234
+ setYearPickerPage(page => page + 1);
11235
+ break;
11236
+ }
11207
11237
  focusManager.focusNext({
11208
11238
  wrap: true
11209
11239
  });
11210
11240
  break;
11211
11241
  case 'ArrowLeft':
11212
11242
  e.preventDefault();
11243
+ if (isFirstYear) {
11244
+ navByKeyboard.current = true;
11245
+ setYearPickerPage(page => page - 1);
11246
+ break;
11247
+ }
11213
11248
  focusManager.focusPrevious({
11214
11249
  wrap: true
11215
11250
  });
@@ -11217,6 +11252,11 @@ const GridFocusManager = ({
11217
11252
  case 'ArrowDown':
11218
11253
  {
11219
11254
  e.preventDefault();
11255
+ if (isLastYear) {
11256
+ navByKeyboard.current = true;
11257
+ setYearPickerPage(page => page + 1);
11258
+ break;
11259
+ }
11220
11260
  const selfIndex = Array.from(parent.children).indexOf(target);
11221
11261
  const focusElement = Array.from(parent.children).at(selfIndex + 5);
11222
11262
  focusManager.focusNext({
@@ -11227,6 +11267,11 @@ const GridFocusManager = ({
11227
11267
  case 'ArrowUp':
11228
11268
  {
11229
11269
  e.preventDefault();
11270
+ if (isFirstYear) {
11271
+ navByKeyboard.current = true;
11272
+ setYearPickerPage(page => page - 1);
11273
+ break;
11274
+ }
11230
11275
  const selfIndex = Array.from(parent.children).indexOf(target);
11231
11276
  const focusElement = Array.from(parent.children).at(selfIndex - 5);
11232
11277
  focusManager.focusPrevious({
@@ -11236,12 +11281,9 @@ const GridFocusManager = ({
11236
11281
  }
11237
11282
  }
11238
11283
  };
11239
- const years = Array.from({
11240
- length: 36
11241
- }, (_, i) => i + (selectedYear - 30 / 2));
11242
11284
  return years.map(year => /*#__PURE__*/jsxRuntime.jsx(GridColumn, {
11243
11285
  $active: selectedYear === year,
11244
- onKeyDown: onKeyDown,
11286
+ onKeyDown: onKeyDown(year),
11245
11287
  onClick: () => setFocusedYear(year),
11246
11288
  "aria-label": `Set year to ${year}`,
11247
11289
  tabIndex: 0,
@@ -11250,7 +11292,9 @@ const GridFocusManager = ({
11250
11292
  };
11251
11293
  const YearGrid = ({
11252
11294
  setFocusedYear,
11253
- year: selectedYear
11295
+ year: selectedYear,
11296
+ yearPickerPage,
11297
+ setYearPickerPage
11254
11298
  }) => {
11255
11299
  return /*#__PURE__*/jsxRuntime.jsx(Grid, {
11256
11300
  children: /*#__PURE__*/jsxRuntime.jsx(reactAria.FocusScope, {
@@ -11259,7 +11303,9 @@ const YearGrid = ({
11259
11303
  autoFocus: true,
11260
11304
  children: /*#__PURE__*/jsxRuntime.jsx(GridFocusManager, {
11261
11305
  year: selectedYear,
11262
- setFocusedYear: setFocusedYear
11306
+ setFocusedYear: setFocusedYear,
11307
+ yearPickerPage: yearPickerPage,
11308
+ setYearPickerPage: setYearPickerPage
11263
11309
  })
11264
11310
  })
11265
11311
  });
@@ -11267,10 +11313,15 @@ const YearGrid = ({
11267
11313
 
11268
11314
  /* eslint-disable react/no-array-index-key */
11269
11315
 
11316
+ /**
11317
+ * The grid laying out the cells for the calendars in {link Calendar} and {link RangeCalendar}
11318
+ */
11270
11319
  function CalendarGrid({
11271
11320
  state,
11272
11321
  showYearPicker,
11273
11322
  setShowYearPicker,
11323
+ yearPickerPage,
11324
+ setYearPickerPage,
11274
11325
  ...props
11275
11326
  }) {
11276
11327
  const {
@@ -11295,7 +11346,9 @@ function CalendarGrid({
11295
11346
  year
11296
11347
  }));
11297
11348
  setShowYearPicker(false);
11298
- }
11349
+ },
11350
+ yearPickerPage: yearPickerPage,
11351
+ setYearPickerPage: setYearPickerPage
11299
11352
  }) : /*#__PURE__*/jsxRuntime.jsxs("table", {
11300
11353
  ...gridProps,
11301
11354
  style: {
@@ -11356,15 +11409,16 @@ function CalendarHeader({
11356
11409
  previousMonthDisabled,
11357
11410
  nextMonthDisabled,
11358
11411
  showYearPicker,
11359
- setShowYearPicker
11412
+ setShowYearPicker,
11413
+ setYearPickerPage
11360
11414
  }) {
11361
11415
  return /*#__PURE__*/jsxRuntime.jsx(HeaderWrapper, {
11362
11416
  children: /*#__PURE__*/jsxRuntime.jsxs(HeaderActions, {
11363
11417
  children: [/*#__PURE__*/jsxRuntime.jsx(Button$1, {
11364
11418
  variant: 'ghost_icon',
11365
11419
  "aria-label": 'Previous month',
11366
- disabled: previousMonthDisabled || showYearPicker,
11367
- onClick: () => state.focusPreviousPage(),
11420
+ disabled: previousMonthDisabled,
11421
+ onClick: () => showYearPicker ? setYearPickerPage(page => page - 1) : state.focusPreviousPage(),
11368
11422
  children: /*#__PURE__*/jsxRuntime.jsx(Icon$1, {
11369
11423
  data: edsIcons.chevron_left
11370
11424
  })
@@ -11393,8 +11447,8 @@ function CalendarHeader({
11393
11447
  }
11394
11448
  }), /*#__PURE__*/jsxRuntime.jsx(Button$1, {
11395
11449
  variant: 'ghost_icon',
11396
- onClick: () => state.focusNextPage(),
11397
- disabled: nextMonthDisabled || showYearPicker,
11450
+ onClick: () => showYearPicker ? setYearPickerPage(page => page + 1) : state.focusNextPage(),
11451
+ disabled: nextMonthDisabled,
11398
11452
  "aria-label": 'Next month',
11399
11453
  children: /*#__PURE__*/jsxRuntime.jsx(Icon$1, {
11400
11454
  data: edsIcons.chevron_right
@@ -11415,6 +11469,7 @@ const Calendar = /*#__PURE__*/react.forwardRef(({
11415
11469
  ...props
11416
11470
  }, ref) => {
11417
11471
  const [showYearPicker, setShowYearPicker] = react.useState(false);
11472
+ const [yearPickerPage, setYearPickerPage] = react.useState(0);
11418
11473
  const {
11419
11474
  locale
11420
11475
  } = reactAria.useLocale();
@@ -11452,7 +11507,8 @@ const Calendar = /*#__PURE__*/react.forwardRef(({
11452
11507
  previousMonthDisabled: prevButtonProps.isDisabled,
11453
11508
  nextMonthDisabled: nextButtonProps.isDisabled,
11454
11509
  setShowYearPicker: setShowYearPicker,
11455
- showYearPicker: showYearPicker
11510
+ showYearPicker: showYearPicker,
11511
+ setYearPickerPage: setYearPickerPage
11456
11512
  })
11457
11513
  }), /*#__PURE__*/jsxRuntime.jsx(Popover.Content, {
11458
11514
  className: "calendar",
@@ -11462,7 +11518,9 @@ const Calendar = /*#__PURE__*/react.forwardRef(({
11462
11518
  children: /*#__PURE__*/jsxRuntime.jsx(CalendarGrid, {
11463
11519
  state: calendarState,
11464
11520
  setShowYearPicker: setShowYearPicker,
11465
- showYearPicker: showYearPicker
11521
+ showYearPicker: showYearPicker,
11522
+ yearPickerPage: yearPickerPage,
11523
+ setYearPickerPage: setYearPickerPage
11466
11524
  })
11467
11525
  }), Footer && /*#__PURE__*/jsxRuntime.jsx(Popover.Actions, {
11468
11526
  children: /*#__PURE__*/jsxRuntime.jsx(Footer, {
@@ -11998,6 +12056,7 @@ const RangeCalendar = /*#__PURE__*/react.forwardRef(({
11998
12056
  ...props
11999
12057
  }, ref) => {
12000
12058
  const [showYearPicker, setShowYearPicker] = react.useState(false);
12059
+ const [yearPickerPage, setYearPickerPage] = react.useState(0);
12001
12060
  const {
12002
12061
  locale
12003
12062
  } = reactAria.useLocale();
@@ -12028,13 +12087,16 @@ const RangeCalendar = /*#__PURE__*/react.forwardRef(({
12028
12087
  state: state,
12029
12088
  title: title,
12030
12089
  setShowYearPicker: setShowYearPicker,
12031
- showYearPicker: showYearPicker
12090
+ showYearPicker: showYearPicker,
12091
+ setYearPickerPage: setYearPickerPage
12032
12092
  })
12033
12093
  }), /*#__PURE__*/jsxRuntime.jsx(Popover.Content, {
12034
12094
  children: /*#__PURE__*/jsxRuntime.jsx(CalendarGrid, {
12035
12095
  state: state,
12036
12096
  setShowYearPicker: setShowYearPicker,
12037
- showYearPicker: showYearPicker
12097
+ showYearPicker: showYearPicker,
12098
+ yearPickerPage: yearPickerPage,
12099
+ setYearPickerPage: setYearPickerPage
12038
12100
  })
12039
12101
  }), Footer && /*#__PURE__*/jsxRuntime.jsx(Popover.Actions, {
12040
12102
  children: /*#__PURE__*/jsxRuntime.jsx(Footer, {
@@ -14,6 +14,7 @@ const Calendar = /*#__PURE__*/forwardRef(({
14
14
  ...props
15
15
  }, ref) => {
16
16
  const [showYearPicker, setShowYearPicker] = useState(false);
17
+ const [yearPickerPage, setYearPickerPage] = useState(0);
17
18
  const {
18
19
  locale
19
20
  } = useLocale();
@@ -51,7 +52,8 @@ const Calendar = /*#__PURE__*/forwardRef(({
51
52
  previousMonthDisabled: prevButtonProps.isDisabled,
52
53
  nextMonthDisabled: nextButtonProps.isDisabled,
53
54
  setShowYearPicker: setShowYearPicker,
54
- showYearPicker: showYearPicker
55
+ showYearPicker: showYearPicker,
56
+ setYearPickerPage: setYearPickerPage
55
57
  })
56
58
  }), /*#__PURE__*/jsx(Popover.Content, {
57
59
  className: "calendar",
@@ -61,7 +63,9 @@ const Calendar = /*#__PURE__*/forwardRef(({
61
63
  children: /*#__PURE__*/jsx(CalendarGrid, {
62
64
  state: calendarState,
63
65
  setShowYearPicker: setShowYearPicker,
64
- showYearPicker: showYearPicker
66
+ showYearPicker: showYearPicker,
67
+ yearPickerPage: yearPickerPage,
68
+ setYearPickerPage: setYearPickerPage
65
69
  })
66
70
  }), Footer && /*#__PURE__*/jsx(Popover.Actions, {
67
71
  children: /*#__PURE__*/jsx(Footer, {
@@ -6,10 +6,15 @@ import { jsx, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  /* eslint-disable react/no-array-index-key */
8
8
 
9
+ /**
10
+ * The grid laying out the cells for the calendars in {link Calendar} and {link RangeCalendar}
11
+ */
9
12
  function CalendarGrid({
10
13
  state,
11
14
  showYearPicker,
12
15
  setShowYearPicker,
16
+ yearPickerPage,
17
+ setYearPickerPage,
13
18
  ...props
14
19
  }) {
15
20
  const {
@@ -34,7 +39,9 @@ function CalendarGrid({
34
39
  year
35
40
  }));
36
41
  setShowYearPicker(false);
37
- }
42
+ },
43
+ yearPickerPage: yearPickerPage,
44
+ setYearPickerPage: setYearPickerPage
38
45
  }) : /*#__PURE__*/jsxs("table", {
39
46
  ...gridProps,
40
47
  style: {
@@ -39,15 +39,16 @@ function CalendarHeader({
39
39
  previousMonthDisabled,
40
40
  nextMonthDisabled,
41
41
  showYearPicker,
42
- setShowYearPicker
42
+ setShowYearPicker,
43
+ setYearPickerPage
43
44
  }) {
44
45
  return /*#__PURE__*/jsx(HeaderWrapper, {
45
46
  children: /*#__PURE__*/jsxs(HeaderActions, {
46
47
  children: [/*#__PURE__*/jsx(Button, {
47
48
  variant: 'ghost_icon',
48
49
  "aria-label": 'Previous month',
49
- disabled: previousMonthDisabled || showYearPicker,
50
- onClick: () => state.focusPreviousPage(),
50
+ disabled: previousMonthDisabled,
51
+ onClick: () => showYearPicker ? setYearPickerPage(page => page - 1) : state.focusPreviousPage(),
51
52
  children: /*#__PURE__*/jsx(Icon, {
52
53
  data: chevron_left
53
54
  })
@@ -76,8 +77,8 @@ function CalendarHeader({
76
77
  }
77
78
  }), /*#__PURE__*/jsx(Button, {
78
79
  variant: 'ghost_icon',
79
- onClick: () => state.focusNextPage(),
80
- disabled: nextMonthDisabled || showYearPicker,
80
+ onClick: () => showYearPicker ? setYearPickerPage(page => page + 1) : state.focusNextPage(),
81
+ disabled: nextMonthDisabled,
81
82
  "aria-label": 'Next month',
82
83
  children: /*#__PURE__*/jsx(Icon, {
83
84
  data: chevron_right
@@ -14,6 +14,7 @@ const RangeCalendar = /*#__PURE__*/forwardRef(({
14
14
  ...props
15
15
  }, ref) => {
16
16
  const [showYearPicker, setShowYearPicker] = useState(false);
17
+ const [yearPickerPage, setYearPickerPage] = useState(0);
17
18
  const {
18
19
  locale
19
20
  } = useLocale();
@@ -44,13 +45,16 @@ const RangeCalendar = /*#__PURE__*/forwardRef(({
44
45
  state: state,
45
46
  title: title,
46
47
  setShowYearPicker: setShowYearPicker,
47
- showYearPicker: showYearPicker
48
+ showYearPicker: showYearPicker,
49
+ setYearPickerPage: setYearPickerPage
48
50
  })
49
51
  }), /*#__PURE__*/jsx(Popover.Content, {
50
52
  children: /*#__PURE__*/jsx(CalendarGrid, {
51
53
  state: state,
52
54
  setShowYearPicker: setShowYearPicker,
53
- showYearPicker: showYearPicker
55
+ showYearPicker: showYearPicker,
56
+ yearPickerPage: yearPickerPage,
57
+ setYearPickerPage: setYearPickerPage
54
58
  })
55
59
  }), Footer && /*#__PURE__*/jsx(Popover.Actions, {
56
60
  children: /*#__PURE__*/jsx(Footer, {
@@ -1,6 +1,7 @@
1
1
  import styled from 'styled-components';
2
2
  import { tokens } from '@equinor/eds-tokens';
3
3
  import { FocusScope, useFocusManager } from 'react-aria';
4
+ import { useRef, useEffect } from 'react';
4
5
  import { jsx } from 'react/jsx-runtime';
5
6
 
6
7
  // Disable no-autofocus - it's not the native autofocus attribute, but react-aria's autoFocus prop
@@ -15,23 +16,58 @@ const GridColumn = styled.button.withConfig({
15
16
  })(["background-color:transparent;outline:none;border:none;display:flex;justify-content:center;cursor:pointer;padding:8px;font-size:", ";font-family:", ";font-weight:", ";line-height:", ";color:", ";border-radius:999px;", ";&:hover{background-color:#f0f0f0;}&:focus{outline:2px dashed ", ";}"], tokens.typography.navigation.button.fontSize, tokens.typography.navigation.button.fontFamily, tokens.typography.navigation.button.fontWeight, tokens.typography.navigation.button.lineHeight, tokens.colors.text.static_icons__default.rgba, ({
16
17
  $active
17
18
  }) => $active ? `background-color: ${tokens.colors.interactive.primary__selected_highlight.rgba}` : '', tokens.colors.interactive.primary__resting.rgba);
19
+ const TOTAL_VISIBLE_YEARS = 36;
20
+ const RANGE_OFFSET = 30 / 2;
18
21
  const GridFocusManager = ({
19
22
  year: selectedYear,
20
- setFocusedYear
23
+ setFocusedYear,
24
+ yearPickerPage,
25
+ setYearPickerPage
21
26
  }) => {
22
27
  const focusManager = useFocusManager();
23
- const onKeyDown = e => {
28
+ const prevYear = useRef();
29
+ const navByKeyboard = useRef(false);
30
+ const page = yearPickerPage * TOTAL_VISIBLE_YEARS;
31
+ const years = Array.from({
32
+ length: TOTAL_VISIBLE_YEARS
33
+ }, (_, i) => i + (selectedYear + page - RANGE_OFFSET));
34
+ useEffect(() => {
35
+ if (prevYear.current === undefined) {
36
+ prevYear.current = yearPickerPage;
37
+ return;
38
+ }
39
+ if (!navByKeyboard.current) {
40
+ focusManager.focusFirst();
41
+ return;
42
+ }
43
+ navByKeyboard.current = false;
44
+ yearPickerPage > prevYear.current ? focusManager.focusFirst() : focusManager.focusLast();
45
+ prevYear.current = yearPickerPage;
46
+ }, [yearPickerPage, focusManager]);
47
+ const onKeyDown = year => e => {
24
48
  const target = e.currentTarget;
25
49
  const parent = target.parentElement;
50
+ const isFirstYear = years.at(0) === year;
51
+ const isLastYear = years.at(-1) === year;
26
52
  switch (e.key) {
27
53
  case 'ArrowRight':
28
54
  e.preventDefault();
55
+ if (isLastYear) {
56
+ navByKeyboard.current = true;
57
+ setYearPickerPage(page => page + 1);
58
+ break;
59
+ }
29
60
  focusManager.focusNext({
30
61
  wrap: true
31
62
  });
32
63
  break;
33
64
  case 'ArrowLeft':
34
65
  e.preventDefault();
66
+ if (isFirstYear) {
67
+ navByKeyboard.current = true;
68
+ setYearPickerPage(page => page - 1);
69
+ break;
70
+ }
35
71
  focusManager.focusPrevious({
36
72
  wrap: true
37
73
  });
@@ -39,6 +75,11 @@ const GridFocusManager = ({
39
75
  case 'ArrowDown':
40
76
  {
41
77
  e.preventDefault();
78
+ if (isLastYear) {
79
+ navByKeyboard.current = true;
80
+ setYearPickerPage(page => page + 1);
81
+ break;
82
+ }
42
83
  const selfIndex = Array.from(parent.children).indexOf(target);
43
84
  const focusElement = Array.from(parent.children).at(selfIndex + 5);
44
85
  focusManager.focusNext({
@@ -49,6 +90,11 @@ const GridFocusManager = ({
49
90
  case 'ArrowUp':
50
91
  {
51
92
  e.preventDefault();
93
+ if (isFirstYear) {
94
+ navByKeyboard.current = true;
95
+ setYearPickerPage(page => page - 1);
96
+ break;
97
+ }
52
98
  const selfIndex = Array.from(parent.children).indexOf(target);
53
99
  const focusElement = Array.from(parent.children).at(selfIndex - 5);
54
100
  focusManager.focusPrevious({
@@ -58,12 +104,9 @@ const GridFocusManager = ({
58
104
  }
59
105
  }
60
106
  };
61
- const years = Array.from({
62
- length: 36
63
- }, (_, i) => i + (selectedYear - 30 / 2));
64
107
  return years.map(year => /*#__PURE__*/jsx(GridColumn, {
65
108
  $active: selectedYear === year,
66
- onKeyDown: onKeyDown,
109
+ onKeyDown: onKeyDown(year),
67
110
  onClick: () => setFocusedYear(year),
68
111
  "aria-label": `Set year to ${year}`,
69
112
  tabIndex: 0,
@@ -72,7 +115,9 @@ const GridFocusManager = ({
72
115
  };
73
116
  const YearGrid = ({
74
117
  setFocusedYear,
75
- year: selectedYear
118
+ year: selectedYear,
119
+ yearPickerPage,
120
+ setYearPickerPage
76
121
  }) => {
77
122
  return /*#__PURE__*/jsx(Grid, {
78
123
  children: /*#__PURE__*/jsx(FocusScope, {
@@ -81,7 +126,9 @@ const YearGrid = ({
81
126
  autoFocus: true,
82
127
  children: /*#__PURE__*/jsx(GridFocusManager, {
83
128
  year: selectedYear,
84
- setFocusedYear: setFocusedYear
129
+ setFocusedYear: setFocusedYear,
130
+ yearPickerPage: yearPickerPage,
131
+ setYearPickerPage: setYearPickerPage
85
132
  })
86
133
  })
87
134
  });
@@ -1,10 +1,13 @@
1
1
  import { CalendarState, RangeCalendarState } from '@react-stately/calendar';
2
2
  import { AriaCalendarGridProps } from 'react-aria';
3
+ import { Dispatch, SetStateAction } from 'react';
3
4
  /**
4
5
  * The grid laying out the cells for the calendars in {link Calendar} and {link RangeCalendar}
5
6
  */
6
- export declare function CalendarGrid({ state, showYearPicker, setShowYearPicker, ...props }: {
7
+ export declare function CalendarGrid({ state, showYearPicker, setShowYearPicker, yearPickerPage, setYearPickerPage, ...props }: {
7
8
  state: CalendarState | RangeCalendarState;
8
9
  showYearPicker: boolean;
9
10
  setShowYearPicker: (showYearPicker: boolean) => void;
11
+ yearPickerPage: number;
12
+ setYearPickerPage: Dispatch<SetStateAction<number>>;
10
13
  } & AriaCalendarGridProps): import("react/jsx-runtime").JSX.Element;
@@ -1,12 +1,14 @@
1
1
  import { CalendarState, RangeCalendarState } from '@react-stately/calendar';
2
+ import { Dispatch, SetStateAction } from 'react';
2
3
  /**
3
4
  * The default header for the calendar components if no custom header is provided
4
5
  */
5
- export declare function CalendarHeader({ state, title, previousMonthDisabled, nextMonthDisabled, showYearPicker, setShowYearPicker, }: {
6
+ export declare function CalendarHeader({ state, title, previousMonthDisabled, nextMonthDisabled, showYearPicker, setShowYearPicker, setYearPickerPage, }: {
6
7
  state: CalendarState | RangeCalendarState;
7
8
  title: string;
8
9
  previousMonthDisabled?: boolean;
9
10
  nextMonthDisabled?: boolean;
10
11
  showYearPicker: boolean;
11
12
  setShowYearPicker: (showYearPicker: boolean) => void;
13
+ setYearPickerPage?: Dispatch<SetStateAction<number>>;
12
14
  }): import("react/jsx-runtime").JSX.Element;
@@ -1,4 +1,7 @@
1
- export declare const YearGrid: ({ setFocusedYear, year: selectedYear, }: {
1
+ import { Dispatch, SetStateAction } from 'react';
2
+ export declare const YearGrid: ({ setFocusedYear, year: selectedYear, yearPickerPage, setYearPickerPage, }: {
2
3
  setFocusedYear: (year: number) => void;
3
4
  year: number;
5
+ yearPickerPage: number;
6
+ setYearPickerPage?: Dispatch<SetStateAction<number>>;
4
7
  }) => import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@equinor/eds-core-react",
3
- "version": "0.41.1",
3
+ "version": "0.41.2",
4
4
  "description": "The React implementation of the Equinor Design System",
5
5
  "sideEffects": [
6
6
  "**/*.css"
@@ -89,8 +89,8 @@
89
89
  "downshift": "9.0.7",
90
90
  "react-aria": "^3.34.1",
91
91
  "@equinor/eds-tokens": "0.9.2",
92
- "@equinor/eds-icons": "^0.21.0",
93
- "@equinor/eds-utils": "0.8.5"
92
+ "@equinor/eds-utils": "0.8.5",
93
+ "@equinor/eds-icons": "^0.21.0"
94
94
  },
95
95
  "scripts": {
96
96
  "build": "rollup -c --bundleConfigAsCjs && tsc -p tsconfig.build.json",