@primer/components 0.0.0-2021931194355 → 0.0.0-2021931201111
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.
package/CHANGELOG.md
CHANGED
package/lib/DatePicker/Day.js
CHANGED
@@ -94,11 +94,7 @@ const getStateStyles = (props, prop, state) => {
|
|
94
94
|
today
|
95
95
|
} = props;
|
96
96
|
|
97
|
-
if (
|
98
|
-
return states.blocked[prop];
|
99
|
-
} else if (disabled) {
|
100
|
-
return states.disabled[prop];
|
101
|
-
} else if (selected) {
|
97
|
+
if (selected) {
|
102
98
|
switch (selected) {
|
103
99
|
case 'start':
|
104
100
|
return today && prop === 'color' ? states.selected.start['todayColor'] : states.selected.start[prop];
|
@@ -112,6 +108,10 @@ const getStateStyles = (props, prop, state) => {
|
|
112
108
|
default:
|
113
109
|
return today && prop === 'color' ? states.selected.default['todayColor'] : states.selected.default[prop];
|
114
110
|
}
|
111
|
+
} else if (blocked) {
|
112
|
+
return states.blocked[prop];
|
113
|
+
} else if (disabled) {
|
114
|
+
return states.disabled[prop];
|
115
115
|
} else {
|
116
116
|
return today && prop === 'color' ? states.default[state]['todayColor'] : states.default[state][prop];
|
117
117
|
}
|
@@ -13,6 +13,8 @@ var _octiconsReact = require("@primer/octicons-react");
|
|
13
13
|
|
14
14
|
var _dateFns = require("date-fns");
|
15
15
|
|
16
|
+
var _esm = require("date-fns/esm");
|
17
|
+
|
16
18
|
var _deepmerge = _interopRequireDefault(require("deepmerge"));
|
17
19
|
|
18
20
|
var _react = _interopRequireWildcard(require("react"));
|
@@ -389,6 +391,7 @@ const DatePickerProvider = ({
|
|
389
391
|
minDate,
|
390
392
|
maxDate,
|
391
393
|
maxRangeSize,
|
394
|
+
disableWeekends,
|
392
395
|
variant
|
393
396
|
} = configuration;
|
394
397
|
|
@@ -401,6 +404,10 @@ const DatePickerProvider = ({
|
|
401
404
|
hoverDate = (0, _dateFns.isBefore)(hoverDate, selection.from) ? (0, _dateFns.subDays)(selection.from, configuration.maxRangeSize - 1) : (0, _dateFns.addDays)(selection.from, configuration.maxRangeSize - 1);
|
402
405
|
}
|
403
406
|
|
407
|
+
if (disableWeekends && (0, _dateFns.isWeekend)(hoverDate)) {
|
408
|
+
hoverDate = (0, _esm.previousFriday)(hoverDate);
|
409
|
+
}
|
410
|
+
|
404
411
|
setHoverRange((0, _dateFns.isBefore)(hoverDate, selection.from) ? {
|
405
412
|
from: hoverDate,
|
406
413
|
to: selection.from
|
@@ -75,11 +75,7 @@ const getStateStyles = (props, prop, state) => {
|
|
75
75
|
today
|
76
76
|
} = props;
|
77
77
|
|
78
|
-
if (
|
79
|
-
return states.blocked[prop];
|
80
|
-
} else if (disabled) {
|
81
|
-
return states.disabled[prop];
|
82
|
-
} else if (selected) {
|
78
|
+
if (selected) {
|
83
79
|
switch (selected) {
|
84
80
|
case 'start':
|
85
81
|
return today && prop === 'color' ? states.selected.start['todayColor'] : states.selected.start[prop];
|
@@ -93,6 +89,10 @@ const getStateStyles = (props, prop, state) => {
|
|
93
89
|
default:
|
94
90
|
return today && prop === 'color' ? states.selected.default['todayColor'] : states.selected.default[prop];
|
95
91
|
}
|
92
|
+
} else if (blocked) {
|
93
|
+
return states.blocked[prop];
|
94
|
+
} else if (disabled) {
|
95
|
+
return states.disabled[prop];
|
96
96
|
} else {
|
97
97
|
return today && prop === 'color' ? states.default[state]['todayColor'] : states.default[state][prop];
|
98
98
|
}
|
@@ -1,5 +1,6 @@
|
|
1
1
|
import { CheckIcon, TrashIcon } from '@primer/octicons-react';
|
2
2
|
import { isEqual, isAfter, isBefore, addMonths, subMonths, isToday, isWeekend, differenceInDays, addDays, subDays } from 'date-fns';
|
3
|
+
import { previousFriday } from 'date-fns/esm';
|
3
4
|
import deepmerge from 'deepmerge';
|
4
5
|
import React, { createContext, useCallback, useContext, useMemo, useEffect, useState } from 'react';
|
5
6
|
import { Text, useConfirm } from '..';
|
@@ -360,6 +361,7 @@ export const DatePickerProvider = ({
|
|
360
361
|
minDate,
|
361
362
|
maxDate,
|
362
363
|
maxRangeSize,
|
364
|
+
disableWeekends,
|
363
365
|
variant
|
364
366
|
} = configuration;
|
365
367
|
|
@@ -372,6 +374,10 @@ export const DatePickerProvider = ({
|
|
372
374
|
hoverDate = isBefore(hoverDate, selection.from) ? subDays(selection.from, configuration.maxRangeSize - 1) : addDays(selection.from, configuration.maxRangeSize - 1);
|
373
375
|
}
|
374
376
|
|
377
|
+
if (disableWeekends && isWeekend(hoverDate)) {
|
378
|
+
hoverDate = previousFriday(hoverDate);
|
379
|
+
}
|
380
|
+
|
375
381
|
setHoverRange(isBefore(hoverDate, selection.from) ? {
|
376
382
|
from: hoverDate,
|
377
383
|
to: selection.from
|