@sproutsocial/racine 20.1.0 → 20.2.0

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.
Files changed (28) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/commonjs/DatePicker/DateRangePicker/DateRangePicker.js +24 -7
  3. package/commonjs/DatePicker/SingleDatePicker/SingleDatePicker.js +18 -7
  4. package/commonjs/Skeleton/Skeleton.js +29 -5
  5. package/commonjs/Tooltip/Tooltip.js +3 -7
  6. package/commonjs/themes/dark/decorative-palettes.js +1 -1
  7. package/commonjs/themes/light/decorative-palettes.js +1 -1
  8. package/dist/themes/dark/theme.scss +1 -1
  9. package/dist/themes/extendedThemes/sproutTheme/dark/theme.scss +1 -1
  10. package/dist/themes/extendedThemes/sproutTheme/light/theme.scss +1 -1
  11. package/dist/themes/light/theme.scss +1 -1
  12. package/dist/types/DatePicker/DateRangePicker/DateRangePicker.d.ts +1 -1
  13. package/dist/types/DatePicker/DateRangePicker/DateRangePicker.d.ts.map +1 -1
  14. package/dist/types/DatePicker/DateRangePicker/DateRangePickerTypes.d.ts +3 -1
  15. package/dist/types/DatePicker/DateRangePicker/DateRangePickerTypes.d.ts.map +1 -1
  16. package/dist/types/DatePicker/SingleDatePicker/SingleDatePicker.d.ts.map +1 -1
  17. package/dist/types/DatePicker/SingleDatePicker/SingleDatePickerTypes.d.ts +2 -0
  18. package/dist/types/DatePicker/SingleDatePicker/SingleDatePickerTypes.d.ts.map +1 -1
  19. package/dist/types/Skeleton/Skeleton.d.ts +3 -1
  20. package/dist/types/Skeleton/Skeleton.d.ts.map +1 -1
  21. package/dist/types/Tooltip/Tooltip.d.ts.map +1 -1
  22. package/lib/DatePicker/DateRangePicker/DateRangePicker.js +25 -8
  23. package/lib/DatePicker/SingleDatePicker/SingleDatePicker.js +19 -8
  24. package/lib/Skeleton/Skeleton.js +30 -5
  25. package/lib/Tooltip/Tooltip.js +3 -7
  26. package/lib/themes/dark/decorative-palettes.js +1 -1
  27. package/lib/themes/light/decorative-palettes.js +1 -1
  28. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # Change Log
2
2
 
3
+ ## 20.2.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 26140808: - Skeleton accessibility improvements and design changes. Improves color contrast and adds a `prefers-reduced-motion` media query.
8
+ - borderRadius selection will now differentiate between circular (avatar) loading states, or linear (the default state). Any usages of circular skeletons will need to explicitly define borderRadius='pill' property, all others will default appropriately.
9
+ - Updates the neutral.highlight theme color from `COLOR_NEUTRAL_500` to `COLOR_NEUTRAL_600`
10
+
11
+ ### Patch Changes
12
+
13
+ - c8b0af6b: Address tooltip focus issues when hovering over the tooltip content
14
+ - 89cf4057: Fix date pickers not closing on ESC key press w/ React 17
15
+
3
16
  ## 20.1.0
4
17
 
5
18
  ### Minor Changes
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _moment = _interopRequireDefault(require("moment"));
9
10
  var _DayPickerRangeController = _interopRequireDefault(require("react-dates/lib/components/DayPickerRangeController"));
10
11
  var _styles = require("../styles");
11
12
  var _common = require("../common");
12
13
  var _VisuallyHidden = require("../../VisuallyHidden");
13
- var _moment = _interopRequireDefault(require("moment"));
14
- var _excluded = ["startDate", "endDate", "onDatesChange", "setStatusText", "initialVisibleMonth", "numberOfMonths"];
14
+ var _excluded = ["startDate", "endDate", "onDatesChange", "setStatusText", "initialVisibleMonth", "numberOfMonths", "onFocusChange", "onBlur", "focusedInput"];
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -25,7 +25,6 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
25
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
26
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
27
  var DateRangePicker = function DateRangePicker(_ref) {
28
- var _ref2, _initialVisibleMonth;
29
28
  var _ref$startDate = _ref.startDate,
30
29
  startDate = _ref$startDate === void 0 ? null : _ref$startDate,
31
30
  _ref$endDate = _ref.endDate,
@@ -36,15 +35,29 @@ var DateRangePicker = function DateRangePicker(_ref) {
36
35
  initialVisibleMonth = _ref.initialVisibleMonth,
37
36
  _ref$numberOfMonths = _ref.numberOfMonths,
38
37
  numberOfMonths = _ref$numberOfMonths === void 0 ? 2 : _ref$numberOfMonths,
38
+ onFocusChange = _ref.onFocusChange,
39
+ onBlur = _ref.onBlur,
40
+ focusedInput = _ref.focusedInput,
39
41
  rest = _objectWithoutProperties(_ref, _excluded);
40
- var _useState = (0, _react.useState)(setStatusText((0, _common.getVisibleMonths)((0, _moment.default)((_ref2 = (_initialVisibleMonth = initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) !== null && _initialVisibleMonth !== void 0 ? _initialVisibleMonth : startDate) !== null && _ref2 !== void 0 ? _ref2 : undefined), numberOfMonths))),
42
+ var _useState = (0, _react.useState)(function () {
43
+ var _ref2, _initialVisibleMonth;
44
+ return setStatusText((0, _common.getVisibleMonths)((0, _moment.default)((_ref2 = (_initialVisibleMonth = initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) !== null && _initialVisibleMonth !== void 0 ? _initialVisibleMonth : startDate) !== null && _ref2 !== void 0 ? _ref2 : undefined), numberOfMonths));
45
+ }),
41
46
  _useState2 = _slicedToArray(_useState, 2),
42
47
  statusText = _useState2[0],
43
48
  updateStatusText = _useState2[1];
44
- var handleMonthClick = function handleMonthClick(month) {
49
+ var handleMonthClick = (0, _react.useCallback)(function (month) {
45
50
  updateStatusText(setStatusText((0, _common.getVisibleMonths)(month, numberOfMonths)));
46
- };
47
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles.ReactDatesCssOverrides, null), /*#__PURE__*/_react.default.createElement(_VisuallyHidden.VisuallyHidden, null, /*#__PURE__*/_react.default.createElement("div", {
51
+ }, [numberOfMonths, setStatusText]);
52
+ var wrappedOnBlur = (0, _react.useCallback)(function (event) {
53
+ // for some reason onBlur is called with no event on day selection 🤷
54
+ if (!event) {
55
+ return;
56
+ }
57
+ onFocusChange === null || onFocusChange === void 0 || onFocusChange(null);
58
+ onBlur === null || onBlur === void 0 || onBlur(event);
59
+ }, [onBlur, onFocusChange]);
60
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles.ReactDatesCssOverrides, null), /*#__PURE__*/_react.default.createElement(_VisuallyHidden.VisuallyHidden, null, /*#__PURE__*/_react.default.createElement("div", {
48
61
  role: "status"
49
62
  }, statusText)), /*#__PURE__*/_react.default.createElement(_DayPickerRangeController.default, _extends({}, _common.commonDatePickerProps, {
50
63
  startDate: startDate,
@@ -52,6 +65,10 @@ var DateRangePicker = function DateRangePicker(_ref) {
52
65
  onDatesChange: onDatesChange,
53
66
  numberOfMonths: numberOfMonths,
54
67
  initialVisibleMonth: initialVisibleMonth || null,
68
+ focusedInput: focusedInput,
69
+ isFocused: focusedInput !== null,
70
+ onBlur: wrappedOnBlur,
71
+ onFocusChange: onFocusChange,
55
72
  onPrevMonthClick: handleMonthClick,
56
73
  onNextMonthClick: handleMonthClick
57
74
  }, rest)));
@@ -6,12 +6,12 @@ Object.defineProperty(exports, "__esModule", {
6
6
  });
7
7
  exports.default = void 0;
8
8
  var _react = _interopRequireWildcard(require("react"));
9
+ var _moment = _interopRequireDefault(require("moment"));
9
10
  var _DayPickerSingleDateController = _interopRequireDefault(require("react-dates/lib/components/DayPickerSingleDateController"));
10
11
  var _styles = require("../styles");
11
12
  var _common = require("../common");
12
13
  var _VisuallyHidden = require("../../VisuallyHidden");
13
- var _moment = _interopRequireDefault(require("moment"));
14
- var _excluded = ["onDateChange", "setStatusText", "date", "focused", "onFocusChange", "initialVisibleMonth", "numberOfMonths"];
14
+ var _excluded = ["onDateChange", "setStatusText", "date", "focused", "onFocusChange", "initialVisibleMonth", "numberOfMonths", "onBlur"];
15
15
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
17
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -24,6 +24,7 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
24
24
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
25
25
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
26
26
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
27
+ var noop = function noop() {};
27
28
  var SingleDatePicker = function SingleDatePicker(_ref) {
28
29
  var onDateChange = _ref.onDateChange,
29
30
  _ref$setStatusText = _ref.setStatusText,
@@ -33,19 +34,28 @@ var SingleDatePicker = function SingleDatePicker(_ref) {
33
34
  _ref$focused = _ref.focused,
34
35
  focused = _ref$focused === void 0 ? false : _ref$focused,
35
36
  _ref$onFocusChange = _ref.onFocusChange,
36
- onFocusChange = _ref$onFocusChange === void 0 ? function () {} : _ref$onFocusChange,
37
+ onFocusChange = _ref$onFocusChange === void 0 ? noop : _ref$onFocusChange,
37
38
  initialVisibleMonth = _ref.initialVisibleMonth,
38
39
  _ref$numberOfMonths = _ref.numberOfMonths,
39
40
  numberOfMonths = _ref$numberOfMonths === void 0 ? 1 : _ref$numberOfMonths,
41
+ onBlur = _ref.onBlur,
40
42
  rest = _objectWithoutProperties(_ref, _excluded);
41
- var _useState = (0, _react.useState)(setStatusText((0, _common.getVisibleMonths)((0, _moment.default)((initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) || date || undefined), numberOfMonths))),
43
+ var _useState = (0, _react.useState)(function () {
44
+ return setStatusText((0, _common.getVisibleMonths)((0, _moment.default)((initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) || date || undefined), numberOfMonths));
45
+ }),
42
46
  _useState2 = _slicedToArray(_useState, 2),
43
47
  statusText = _useState2[0],
44
48
  updateStatusText = _useState2[1];
45
- var handleMonthClick = function handleMonthClick(date) {
49
+ var handleMonthClick = (0, _react.useCallback)(function (date) {
46
50
  updateStatusText(setStatusText((0, _common.getVisibleMonths)(date, numberOfMonths)));
47
- };
48
- return /*#__PURE__*/_react.default.createElement(_react.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles.ReactDatesCssOverrides, null), /*#__PURE__*/_react.default.createElement(_VisuallyHidden.VisuallyHidden, null, /*#__PURE__*/_react.default.createElement("div", {
51
+ }, [numberOfMonths, setStatusText]);
52
+ var wrappedOnBlur = (0, _react.useCallback)(function (event) {
53
+ onFocusChange === null || onFocusChange === void 0 || onFocusChange({
54
+ focused: false
55
+ });
56
+ onBlur === null || onBlur === void 0 || onBlur(event);
57
+ }, [onBlur, onFocusChange]);
58
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_styles.ReactDatesCssOverrides, null), /*#__PURE__*/_react.default.createElement(_VisuallyHidden.VisuallyHidden, null, /*#__PURE__*/_react.default.createElement("div", {
49
59
  role: "status"
50
60
  }, statusText)), /*#__PURE__*/_react.default.createElement(_DayPickerSingleDateController.default, _extends({}, _common.commonDatePickerProps, {
51
61
  date: date,
@@ -53,6 +63,7 @@ var SingleDatePicker = function SingleDatePicker(_ref) {
53
63
  onDateChange: onDateChange,
54
64
  initialVisibleMonth: initialVisibleMonth || null,
55
65
  focused: focused,
66
+ onBlur: wrappedOnBlur,
56
67
  onFocusChange: onFocusChange,
57
68
  onPrevMonthClick: handleMonthClick,
58
69
  onNextMonthClick: handleMonthClick
@@ -5,16 +5,40 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _styledComponents = _interopRequireDefault(require("styled-components"));
8
- var _polished = require("polished");
9
8
  var _Box = _interopRequireDefault(require("../Box"));
10
9
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- var Skeleton = (0, _styledComponents.default)(_Box.default).withConfig({
10
+ /**
11
+ *
12
+ * @param borderRadius
13
+ * @returns classname string for handling appropriate loader style depending on passed in properties
14
+ */
15
+ var SkeletonAttrs = function SkeletonAttrs(_ref) {
16
+ var borderRadius = _ref.borderRadius,
17
+ height = _ref.height,
18
+ width = _ref.width;
19
+ return {
20
+ className: borderRadius === 'pill' && height === width ? 'circular' : 'linear'
21
+ };
22
+ };
23
+ var Skeleton = (0, _styledComponents.default)(_Box.default).attrs(SkeletonAttrs).withConfig({
12
24
  displayName: "Skeleton",
13
25
  componentId: "sc-s6hpnd-0"
14
- })(["background:", ";background-image:", ";background-size:400%;background-repeat:no-repeat;animation:SkeletonShimmer 2.5s linear infinite reverse;@media (prefers-reduced-motion){{animation:none;}}@keyframes SkeletonShimmer{0%{background-position:0% 0;}100%{background-position:100% 0;}}"], function (p) {
26
+ })(["position:relative;background:", ";overflow:hidden;&.circular{&:before{position:absolute;top:-25%;left:-25%;content:'';background-image:", ";height:150%;width:150%;animation:SkeletonRotate 2s infinite linear;}&:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:'';height:calc(100% - 8px);width:calc(100% - 8px);background:", ";border-radius:50%;}}&.linear{position:relative;background-image:", " background-size:400%;background-repeat:no-repeat;animation:SkeletonShimmer 2s linear infinite reverse;overflow:hidden;&:after{position:absolute;bottom:0;content:\"\";height:calc(100% - 4px);width:100%;background:", ";}}@media (prefers-reduced-motion){&.linear,&.circular::before{animation:none;}&:before,&:after{display:none;}&.linear,&.circular{border:1px solid ", ";animation:SkeletonPulse 2s linear infinite alternate;}}@keyframes SkeletonRotate{100%{transform:rotate(360deg);}}@keyframes SkeletonRotateFade{50%{transform:rotate(360deg);}90%{opacity:1;}100%{transform:rotate(720deg);opacity:0;}}@keyframes SkeletonShimmer{0%{background-position:0% 0;}100%{background-position:100% 0;}}@keyframes SkeletonPulse{0%{border-color:", "FF;}100%{border-color:", "1A;}}"], function (props) {
27
+ return props.theme.colors.container.background.decorative.neutral;
28
+ }, function (props) {
29
+ return "conic-gradient(\n ".concat(props.theme.colors.container.background.decorative.neutral, " 270deg,\n ").concat(props.theme.colors.container.border.decorative.neutral, " 300deg\n );");
30
+ }, function (p) {
15
31
  return p.theme.colors.app.background.base;
16
32
  }, function (props) {
17
- return "linear-gradient(\n 288deg,\n ".concat((0, _polished.transparentize)(0.7, props.theme.colors.container.border.base), " 32%,\n ").concat((0, _polished.transparentize)(0.05, props.theme.colors.container.border.base), ",\n ").concat((0, _polished.transparentize)(0.7, props.theme.colors.container.border.base), " 68%\n );");
33
+ return "linear-gradient(\n 288deg,\n ".concat(props.theme.colors.container.background.decorative.neutral, " 32%,\n ").concat(props.theme.colors.container.border.decorative.neutral, ",\n ").concat(props.theme.colors.container.background.decorative.neutral, " 68%\n );");
34
+ }, function (props) {
35
+ return props.theme.colors.container.background.decorative.neutral;
36
+ }, function (props) {
37
+ return props.theme.colors.container.border.decorative.neutral;
38
+ }, function (props) {
39
+ return props.theme.colors.container.border.decorative.neutral;
40
+ }, function (props) {
41
+ return props.theme.colors.container.border.decorative.neutral;
18
42
  });
19
- var _default = Skeleton; //rgba(243, 244, 244, 0.7)
43
+ var _default = Skeleton;
20
44
  exports.default = _default;
@@ -39,17 +39,13 @@ var wrapContent = function wrapContent(_ref) {
39
39
  Wrapper = _ref.Wrapper,
40
40
  appearance = _ref.appearance,
41
41
  ariaProps = _ref.ariaProps,
42
- wrapperStyles = _ref.wrapperStyles,
43
- onMouseEnter = _ref.onMouseEnter,
44
- onMouseLeave = _ref.onMouseLeave;
42
+ wrapperStyles = _ref.wrapperStyles;
45
43
  return /*#__PURE__*/React.createElement(Wrapper, _extends({
46
44
  appearance: appearance,
47
- onMouseOver: show,
48
- onMouseOut: hide,
49
45
  onFocus: show,
50
46
  onBlur: hide,
51
- onMouseEnter: onMouseEnter,
52
- onMouseLeave: onMouseLeave,
47
+ onMouseEnter: show,
48
+ onMouseLeave: hide,
53
49
  style: Object.keys(wrapperStyles).length === 0 ? undefined : wrapperStyles
54
50
  }, ariaProps), /*#__PURE__*/React.isValidElement(content) ? /*#__PURE__*/React.cloneElement(content, {
55
51
  'aria-expanded': isOpen,
@@ -44,7 +44,7 @@ var red = {
44
44
  exports.red = red;
45
45
  var neutral = {
46
46
  background: _seedsColor.default.COLOR_NEUTRAL_1000,
47
- highlight: _seedsColor.default.COLOR_NEUTRAL_500,
47
+ highlight: _seedsColor.default.COLOR_NEUTRAL_600,
48
48
  foreground: _seedsColor.default.COLOR_NEUTRAL_100
49
49
  };
50
50
  exports.neutral = neutral;
@@ -44,7 +44,7 @@ var red = {
44
44
  exports.red = red;
45
45
  var neutral = {
46
46
  background: _seedsColor.default.COLOR_NEUTRAL_100,
47
- highlight: _seedsColor.default.COLOR_NEUTRAL_500,
47
+ highlight: _seedsColor.default.COLOR_NEUTRAL_600,
48
48
  foreground: _seedsColor.default.COLOR_NEUTRAL_900
49
49
  };
50
50
  exports.neutral = neutral;
@@ -49,7 +49,7 @@ $theme: (
49
49
  "yellow": #ffbc00,
50
50
  "orange": #f57d33,
51
51
  "red": #ed4c42,
52
- "neutral": #929a9b,
52
+ "neutral": #6e797a,
53
53
  "magenta": #c44eb9,
54
54
  "pink": #e0447c,
55
55
  "aqua": #17b8ce,
@@ -81,7 +81,7 @@ $theme: (
81
81
  "yellow": #ffbc00,
82
82
  "orange": #f57d33,
83
83
  "red": #ed4c42,
84
- "neutral": #929a9b,
84
+ "neutral": #6e797a,
85
85
  "magenta": #c44eb9,
86
86
  "pink": #e0447c,
87
87
  "aqua": #17b8ce,
@@ -81,7 +81,7 @@ $theme: (
81
81
  "yellow": #ffbc00,
82
82
  "orange": #f57d33,
83
83
  "red": #ed4c42,
84
- "neutral": #929a9b,
84
+ "neutral": #6e797a,
85
85
  "magenta": #c44eb9,
86
86
  "pink": #e0447c,
87
87
  "aqua": #17b8ce,
@@ -56,7 +56,7 @@ $theme: (
56
56
  "yellow": #ffbc00,
57
57
  "orange": #f57d33,
58
58
  "red": #ed4c42,
59
- "neutral": #929a9b,
59
+ "neutral": #6e797a,
60
60
  "magenta": #c44eb9,
61
61
  "pink": #e0447c,
62
62
  "aqua": #17b8ce,
@@ -1,5 +1,5 @@
1
1
  /// <reference types="react" />
2
2
  import type { TypeDateRangePickerProps } from './DateRangePickerTypes';
3
- declare const DateRangePicker: ({ startDate, endDate, onDatesChange, setStatusText, initialVisibleMonth, numberOfMonths, ...rest }: TypeDateRangePickerProps) => JSX.Element;
3
+ declare const DateRangePicker: ({ startDate, endDate, onDatesChange, setStatusText, initialVisibleMonth, numberOfMonths, onFocusChange, onBlur, focusedInput, ...rest }: TypeDateRangePickerProps) => JSX.Element;
4
4
  export default DateRangePicker;
5
5
  //# sourceMappingURL=DateRangePicker.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":";AAQA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAIrE,QAAA,MAAM,eAAe,uGAQlB,wBAAwB,gBA+B1B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"DateRangePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DateRangePicker/DateRangePicker.tsx"],"names":[],"mappings":";AAUA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,wBAAwB,CAAC;AAErE,QAAA,MAAM,eAAe,4IAWlB,wBAAwB,gBAoD1B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,4 +1,5 @@
1
- import { Moment } from 'moment';
1
+ /// <reference types="react" />
2
+ import type { Moment } from 'moment';
2
3
  import type { TypeCommonDatePickerProps } from '../../DatePicker/types';
3
4
  export type EnumFocusedInput = null | 'startDate' | 'endDate';
4
5
  export interface TypeStatefulDateRangePickerProps extends TypeCommonDatePickerProps {
@@ -13,5 +14,6 @@ export interface TypeStatefulDateRangePickerProps extends TypeCommonDatePickerPr
13
14
  setStatusText?: (dates: Moment[]) => string;
14
15
  }
15
16
  export interface TypeDateRangePickerProps extends Required<Pick<TypeStatefulDateRangePickerProps, 'focusedInput' | 'onDatesChange' | 'onFocusChange'>>, Pick<TypeStatefulDateRangePickerProps, 'startDate' | 'endDate' | 'setStatusText' | 'initialVisibleMonth' | 'numberOfMonths'> {
17
+ onBlur?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
16
18
  }
17
19
  //# sourceMappingURL=DateRangePickerTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DateRangePickerTypes.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DateRangePicker/DateRangePickerTypes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,gCACf,SAAQ,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,wBACf,SAAQ,QAAQ,CACZ,IAAI,CACF,gCAAgC,EAChC,cAAc,GAAG,eAAe,GAAG,eAAe,CACnD,CACF,EACD,IAAI,CACF,gCAAgC,EAC9B,WAAW,GACX,SAAS,GACT,eAAe,GACf,qBAAqB,GACrB,gBAAgB,CACnB;CAAG"}
1
+ {"version":3,"file":"DateRangePickerTypes.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/DateRangePicker/DateRangePickerTypes.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAErE,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG,WAAW,GAAG,SAAS,CAAC;AAE9D,MAAM,WAAW,gCACf,SAAQ,yBAAyB;IACjC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,YAAY,CAAC,EAAE,gBAAgB,CAAC;IAChC,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QACrB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,KAAK,IAAI,CAAC;IACX,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACjD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,wBACf,SAAQ,QAAQ,CACZ,IAAI,CACF,gCAAgC,EAChC,cAAc,GAAG,eAAe,GAAG,eAAe,CACnD,CACF,EACD,IAAI,CACF,gCAAgC,EAC9B,WAAW,GACX,SAAS,GACT,eAAe,GACf,qBAAqB,GACrB,gBAAgB,CACnB;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CACjE"}
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/SingleDatePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2B,MAAM,OAAO,CAAC;AAQhD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,yBAAyB,CAAC;;AAgDvE,wBAAuE"}
1
+ {"version":3,"file":"SingleDatePicker.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/SingleDatePicker/SingleDatePicker.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AASnD,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,yBAAyB,CAAC;;AA6DvE,wBAAuE"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  import type { Moment } from 'moment';
2
3
  import type { TypeCommonDatePickerProps } from '../../DatePicker/types';
3
4
  export interface TypeStatefulSingleDatePickerProps extends TypeCommonDatePickerProps {
@@ -10,5 +11,6 @@ export interface TypeStatefulSingleDatePickerProps extends TypeCommonDatePickerP
10
11
  setStatusText?: (dates: Moment[]) => string;
11
12
  }
12
13
  export interface TypeSingleDatePickerProps extends Required<Pick<TypeStatefulSingleDatePickerProps, 'onDateChange'>>, Pick<TypeStatefulSingleDatePickerProps, 'date' | 'focused' | 'onFocusChange' | 'setStatusText' | 'initialVisibleMonth' | 'numberOfMonths'> {
14
+ onBlur?: React.KeyboardEventHandler<HTMLDivElement> | undefined;
13
15
  }
14
16
  //# sourceMappingURL=SingleDatePickerTypes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"SingleDatePickerTypes.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/SingleDatePicker/SingleDatePickerTypes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAErE,MAAM,WAAW,iCACf,SAAQ,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,yBACf,SAAQ,QAAQ,CAAC,IAAI,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC,EACvE,IAAI,CACF,iCAAiC,EAC/B,MAAM,GACN,SAAS,GACT,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,gBAAgB,CACnB;CAAG"}
1
+ {"version":3,"file":"SingleDatePickerTypes.d.ts","sourceRoot":"","sources":["../../../../src/DatePicker/SingleDatePicker/SingleDatePickerTypes.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AACnC,OAAO,KAAK,EAAC,yBAAyB,EAAC,MAAM,uBAAuB,CAAC;AAErE,MAAM,WAAW,iCACf,SAAQ,yBAAyB;IACjC,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE;QAAC,OAAO,EAAE,OAAO,CAAA;KAAC,KAAK,IAAI,CAAC;IACnD,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;CAC7C;AAED,MAAM,WAAW,yBACf,SAAQ,QAAQ,CAAC,IAAI,CAAC,iCAAiC,EAAE,cAAc,CAAC,CAAC,EACvE,IAAI,CACF,iCAAiC,EAC/B,MAAM,GACN,SAAS,GACT,eAAe,GACf,eAAe,GACf,qBAAqB,GACrB,gBAAgB,CACnB;IACH,MAAM,CAAC,EAAE,KAAK,CAAC,oBAAoB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CACjE"}
@@ -1,4 +1,6 @@
1
1
  /// <reference types="react" />
2
- declare const Skeleton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("../Box").TypeBoxProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>, import("styled-components").DefaultTheme, {}, never>;
2
+ declare const Skeleton: import("styled-components").StyledComponent<import("react").ForwardRefExoticComponent<Omit<import("../Box").TypeBoxProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>, import("styled-components").DefaultTheme, {
3
+ className: string;
4
+ }, "className">;
3
5
  export default Skeleton;
4
6
  //# sourceMappingURL=Skeleton.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/Skeleton/Skeleton.ts"],"names":[],"mappings":";AAIA,QAAA,MAAM,QAAQ,2OA0Bb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
1
+ {"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/Skeleton/Skeleton.ts"],"names":[],"mappings":";AAaA,QAAA,MAAM,QAAQ;;eA4Gb,CAAC;AAEF,eAAe,QAAQ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAqB,MAAM,gBAAgB,CAAC;AAkEzE,QAAA,MAAM,OAAO,0GAWV,gBAAgB,gBAoHlB,CAAC;AA+BF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Tooltip.d.ts","sourceRoot":"","sources":["../../../src/Tooltip/Tooltip.tsx"],"names":[],"mappings":";AAKA,OAAO,KAAK,EAAC,gBAAgB,EAAqB,MAAM,gBAAgB,CAAC;AA8DzE,QAAA,MAAM,OAAO,0GAWV,gBAAgB,gBAoHlB,CAAC;AA+BF,eAAe,OAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- var _excluded = ["startDate", "endDate", "onDatesChange", "setStatusText", "initialVisibleMonth", "numberOfMonths"];
1
+ var _excluded = ["startDate", "endDate", "onDatesChange", "setStatusText", "initialVisibleMonth", "numberOfMonths", "onFocusChange", "onBlur", "focusedInput"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,14 +8,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { Fragment, useState } from 'react';
11
+ import React, { useCallback, useState } from 'react';
12
+ import moment from 'moment';
12
13
  import DayPickerRangeController from 'react-dates/lib/components/DayPickerRangeController';
13
14
  import { ReactDatesCssOverrides } from "../styles";
14
15
  import { commonDatePickerProps, DefaultSetStatusText, getVisibleMonths } from "../common";
15
16
  import { VisuallyHidden } from "../../VisuallyHidden";
16
- import moment from 'moment';
17
17
  var DateRangePicker = function DateRangePicker(_ref) {
18
- var _ref2, _initialVisibleMonth;
19
18
  var _ref$startDate = _ref.startDate,
20
19
  startDate = _ref$startDate === void 0 ? null : _ref$startDate,
21
20
  _ref$endDate = _ref.endDate,
@@ -26,15 +25,29 @@ var DateRangePicker = function DateRangePicker(_ref) {
26
25
  initialVisibleMonth = _ref.initialVisibleMonth,
27
26
  _ref$numberOfMonths = _ref.numberOfMonths,
28
27
  numberOfMonths = _ref$numberOfMonths === void 0 ? 2 : _ref$numberOfMonths,
28
+ onFocusChange = _ref.onFocusChange,
29
+ onBlur = _ref.onBlur,
30
+ focusedInput = _ref.focusedInput,
29
31
  rest = _objectWithoutProperties(_ref, _excluded);
30
- var _useState = useState(setStatusText(getVisibleMonths(moment((_ref2 = (_initialVisibleMonth = initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) !== null && _initialVisibleMonth !== void 0 ? _initialVisibleMonth : startDate) !== null && _ref2 !== void 0 ? _ref2 : undefined), numberOfMonths))),
32
+ var _useState = useState(function () {
33
+ var _ref2, _initialVisibleMonth;
34
+ return setStatusText(getVisibleMonths(moment((_ref2 = (_initialVisibleMonth = initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) !== null && _initialVisibleMonth !== void 0 ? _initialVisibleMonth : startDate) !== null && _ref2 !== void 0 ? _ref2 : undefined), numberOfMonths));
35
+ }),
31
36
  _useState2 = _slicedToArray(_useState, 2),
32
37
  statusText = _useState2[0],
33
38
  updateStatusText = _useState2[1];
34
- var handleMonthClick = function handleMonthClick(month) {
39
+ var handleMonthClick = useCallback(function (month) {
35
40
  updateStatusText(setStatusText(getVisibleMonths(month, numberOfMonths)));
36
- };
37
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(ReactDatesCssOverrides, null), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
41
+ }, [numberOfMonths, setStatusText]);
42
+ var wrappedOnBlur = useCallback(function (event) {
43
+ // for some reason onBlur is called with no event on day selection 🤷
44
+ if (!event) {
45
+ return;
46
+ }
47
+ onFocusChange === null || onFocusChange === void 0 || onFocusChange(null);
48
+ onBlur === null || onBlur === void 0 || onBlur(event);
49
+ }, [onBlur, onFocusChange]);
50
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReactDatesCssOverrides, null), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
38
51
  role: "status"
39
52
  }, statusText)), /*#__PURE__*/React.createElement(DayPickerRangeController, _extends({}, commonDatePickerProps, {
40
53
  startDate: startDate,
@@ -42,6 +55,10 @@ var DateRangePicker = function DateRangePicker(_ref) {
42
55
  onDatesChange: onDatesChange,
43
56
  numberOfMonths: numberOfMonths,
44
57
  initialVisibleMonth: initialVisibleMonth || null,
58
+ focusedInput: focusedInput,
59
+ isFocused: focusedInput !== null,
60
+ onBlur: wrappedOnBlur,
61
+ onFocusChange: onFocusChange,
45
62
  onPrevMonthClick: handleMonthClick,
46
63
  onNextMonthClick: handleMonthClick
47
64
  }, rest)));
@@ -1,4 +1,4 @@
1
- var _excluded = ["onDateChange", "setStatusText", "date", "focused", "onFocusChange", "initialVisibleMonth", "numberOfMonths"];
1
+ var _excluded = ["onDateChange", "setStatusText", "date", "focused", "onFocusChange", "initialVisibleMonth", "numberOfMonths", "onBlur"];
2
2
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
3
  function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
4
4
  function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
@@ -8,12 +8,13 @@ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" !=
8
8
  function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
9
9
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
10
10
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
11
- import React, { Fragment, useState } from 'react';
11
+ import React, { useCallback, useState } from 'react';
12
+ import moment from 'moment';
12
13
  import DayPickerSingleDateController from 'react-dates/lib/components/DayPickerSingleDateController';
13
14
  import { ReactDatesCssOverrides } from "../styles";
14
15
  import { commonDatePickerProps, DefaultSetStatusText, getVisibleMonths } from "../common";
15
16
  import { VisuallyHidden } from "../../VisuallyHidden";
16
- import moment from 'moment';
17
+ var noop = function noop() {};
17
18
  var SingleDatePicker = function SingleDatePicker(_ref) {
18
19
  var onDateChange = _ref.onDateChange,
19
20
  _ref$setStatusText = _ref.setStatusText,
@@ -23,19 +24,28 @@ var SingleDatePicker = function SingleDatePicker(_ref) {
23
24
  _ref$focused = _ref.focused,
24
25
  focused = _ref$focused === void 0 ? false : _ref$focused,
25
26
  _ref$onFocusChange = _ref.onFocusChange,
26
- onFocusChange = _ref$onFocusChange === void 0 ? function () {} : _ref$onFocusChange,
27
+ onFocusChange = _ref$onFocusChange === void 0 ? noop : _ref$onFocusChange,
27
28
  initialVisibleMonth = _ref.initialVisibleMonth,
28
29
  _ref$numberOfMonths = _ref.numberOfMonths,
29
30
  numberOfMonths = _ref$numberOfMonths === void 0 ? 1 : _ref$numberOfMonths,
31
+ onBlur = _ref.onBlur,
30
32
  rest = _objectWithoutProperties(_ref, _excluded);
31
- var _useState = useState(setStatusText(getVisibleMonths(moment((initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) || date || undefined), numberOfMonths))),
33
+ var _useState = useState(function () {
34
+ return setStatusText(getVisibleMonths(moment((initialVisibleMonth === null || initialVisibleMonth === void 0 ? void 0 : initialVisibleMonth()) || date || undefined), numberOfMonths));
35
+ }),
32
36
  _useState2 = _slicedToArray(_useState, 2),
33
37
  statusText = _useState2[0],
34
38
  updateStatusText = _useState2[1];
35
- var handleMonthClick = function handleMonthClick(date) {
39
+ var handleMonthClick = useCallback(function (date) {
36
40
  updateStatusText(setStatusText(getVisibleMonths(date, numberOfMonths)));
37
- };
38
- return /*#__PURE__*/React.createElement(Fragment, null, /*#__PURE__*/React.createElement(ReactDatesCssOverrides, null), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
41
+ }, [numberOfMonths, setStatusText]);
42
+ var wrappedOnBlur = useCallback(function (event) {
43
+ onFocusChange === null || onFocusChange === void 0 || onFocusChange({
44
+ focused: false
45
+ });
46
+ onBlur === null || onBlur === void 0 || onBlur(event);
47
+ }, [onBlur, onFocusChange]);
48
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(ReactDatesCssOverrides, null), /*#__PURE__*/React.createElement(VisuallyHidden, null, /*#__PURE__*/React.createElement("div", {
39
49
  role: "status"
40
50
  }, statusText)), /*#__PURE__*/React.createElement(DayPickerSingleDateController, _extends({}, commonDatePickerProps, {
41
51
  date: date,
@@ -43,6 +53,7 @@ var SingleDatePicker = function SingleDatePicker(_ref) {
43
53
  onDateChange: onDateChange,
44
54
  initialVisibleMonth: initialVisibleMonth || null,
45
55
  focused: focused,
56
+ onBlur: wrappedOnBlur,
46
57
  onFocusChange: onFocusChange,
47
58
  onPrevMonthClick: handleMonthClick,
48
59
  onNextMonthClick: handleMonthClick
@@ -1,12 +1,37 @@
1
1
  import styled from 'styled-components';
2
- import { transparentize } from 'polished';
3
2
  import Box from "../Box";
4
- var Skeleton = styled(Box).withConfig({
3
+
4
+ /**
5
+ *
6
+ * @param borderRadius
7
+ * @returns classname string for handling appropriate loader style depending on passed in properties
8
+ */
9
+ var SkeletonAttrs = function SkeletonAttrs(_ref) {
10
+ var borderRadius = _ref.borderRadius,
11
+ height = _ref.height,
12
+ width = _ref.width;
13
+ return {
14
+ className: borderRadius === 'pill' && height === width ? 'circular' : 'linear'
15
+ };
16
+ };
17
+ var Skeleton = styled(Box).attrs(SkeletonAttrs).withConfig({
5
18
  displayName: "Skeleton",
6
19
  componentId: "sc-s6hpnd-0"
7
- })(["background:", ";background-image:", ";background-size:400%;background-repeat:no-repeat;animation:SkeletonShimmer 2.5s linear infinite reverse;@media (prefers-reduced-motion){{animation:none;}}@keyframes SkeletonShimmer{0%{background-position:0% 0;}100%{background-position:100% 0;}}"], function (p) {
20
+ })(["position:relative;background:", ";overflow:hidden;&.circular{&:before{position:absolute;top:-25%;left:-25%;content:'';background-image:", ";height:150%;width:150%;animation:SkeletonRotate 2s infinite linear;}&:after{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);content:'';height:calc(100% - 8px);width:calc(100% - 8px);background:", ";border-radius:50%;}}&.linear{position:relative;background-image:", " background-size:400%;background-repeat:no-repeat;animation:SkeletonShimmer 2s linear infinite reverse;overflow:hidden;&:after{position:absolute;bottom:0;content:\"\";height:calc(100% - 4px);width:100%;background:", ";}}@media (prefers-reduced-motion){&.linear,&.circular::before{animation:none;}&:before,&:after{display:none;}&.linear,&.circular{border:1px solid ", ";animation:SkeletonPulse 2s linear infinite alternate;}}@keyframes SkeletonRotate{100%{transform:rotate(360deg);}}@keyframes SkeletonRotateFade{50%{transform:rotate(360deg);}90%{opacity:1;}100%{transform:rotate(720deg);opacity:0;}}@keyframes SkeletonShimmer{0%{background-position:0% 0;}100%{background-position:100% 0;}}@keyframes SkeletonPulse{0%{border-color:", "FF;}100%{border-color:", "1A;}}"], function (props) {
21
+ return props.theme.colors.container.background.decorative.neutral;
22
+ }, function (props) {
23
+ return "conic-gradient(\n ".concat(props.theme.colors.container.background.decorative.neutral, " 270deg,\n ").concat(props.theme.colors.container.border.decorative.neutral, " 300deg\n );");
24
+ }, function (p) {
8
25
  return p.theme.colors.app.background.base;
9
26
  }, function (props) {
10
- return "linear-gradient(\n 288deg,\n ".concat(transparentize(0.7, props.theme.colors.container.border.base), " 32%,\n ").concat(transparentize(0.05, props.theme.colors.container.border.base), ",\n ").concat(transparentize(0.7, props.theme.colors.container.border.base), " 68%\n );");
27
+ return "linear-gradient(\n 288deg,\n ".concat(props.theme.colors.container.background.decorative.neutral, " 32%,\n ").concat(props.theme.colors.container.border.decorative.neutral, ",\n ").concat(props.theme.colors.container.background.decorative.neutral, " 68%\n );");
28
+ }, function (props) {
29
+ return props.theme.colors.container.background.decorative.neutral;
30
+ }, function (props) {
31
+ return props.theme.colors.container.border.decorative.neutral;
32
+ }, function (props) {
33
+ return props.theme.colors.container.border.decorative.neutral;
34
+ }, function (props) {
35
+ return props.theme.colors.container.border.decorative.neutral;
11
36
  });
12
- export default Skeleton; //rgba(243, 244, 244, 0.7)
37
+ export default Skeleton;
@@ -31,17 +31,13 @@ var wrapContent = function wrapContent(_ref) {
31
31
  Wrapper = _ref.Wrapper,
32
32
  appearance = _ref.appearance,
33
33
  ariaProps = _ref.ariaProps,
34
- wrapperStyles = _ref.wrapperStyles,
35
- onMouseEnter = _ref.onMouseEnter,
36
- onMouseLeave = _ref.onMouseLeave;
34
+ wrapperStyles = _ref.wrapperStyles;
37
35
  return /*#__PURE__*/React.createElement(Wrapper, _extends({
38
36
  appearance: appearance,
39
- onMouseOver: show,
40
- onMouseOut: hide,
41
37
  onFocus: show,
42
38
  onBlur: hide,
43
- onMouseEnter: onMouseEnter,
44
- onMouseLeave: onMouseLeave,
39
+ onMouseEnter: show,
40
+ onMouseLeave: hide,
45
41
  style: Object.keys(wrapperStyles).length === 0 ? undefined : wrapperStyles
46
42
  }, ariaProps), /*#__PURE__*/React.isValidElement(content) ? /*#__PURE__*/React.cloneElement(content, {
47
43
  'aria-expanded': isOpen,
@@ -31,7 +31,7 @@ export var red = {
31
31
  };
32
32
  export var neutral = {
33
33
  background: COLORS.COLOR_NEUTRAL_1000,
34
- highlight: COLORS.COLOR_NEUTRAL_500,
34
+ highlight: COLORS.COLOR_NEUTRAL_600,
35
35
  foreground: COLORS.COLOR_NEUTRAL_100
36
36
  };
37
37
  export var magenta = {
@@ -31,7 +31,7 @@ export var red = {
31
31
  };
32
32
  export var neutral = {
33
33
  background: COLORS.COLOR_NEUTRAL_100,
34
- highlight: COLORS.COLOR_NEUTRAL_500,
34
+ highlight: COLORS.COLOR_NEUTRAL_600,
35
35
  foreground: COLORS.COLOR_NEUTRAL_900
36
36
  };
37
37
  export var magenta = {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sproutsocial/racine",
3
- "version": "20.1.0",
3
+ "version": "20.2.0",
4
4
  "license": "MIT",
5
5
  "files": [
6
6
  "__flow__",