@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
@@ -1,6 +1,6 @@
1
1
  # @primer/components
2
2
 
3
- ## 0.0.0-2021931194355
3
+ ## 0.0.0-2021931201111
4
4
 
5
5
  ### Patch Changes
6
6
 
@@ -94,11 +94,7 @@ const getStateStyles = (props, prop, state) => {
94
94
  today
95
95
  } = props;
96
96
 
97
- if (blocked) {
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 (blocked) {
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
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@primer/components",
3
- "version": "0.0.0-2021931194355",
3
+ "version": "0.0.0-2021931201111",
4
4
  "description": "Primer react components",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-esm/index.js",