@atlaskit/datetime-picker 10.4.2 → 11.1.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.
- package/CHANGELOG.md +35 -0
- package/dist/cjs/components/DatePicker.js +28 -28
- package/dist/cjs/components/DateTimePicker.js +90 -113
- package/dist/cjs/components/TimePicker.js +12 -9
- package/dist/cjs/components/utils.js +96 -0
- package/dist/cjs/version.json +1 -1
- package/dist/es2019/components/DatePicker.js +30 -30
- package/dist/es2019/components/DateTimePicker.js +87 -128
- package/dist/es2019/components/TimePicker.js +12 -13
- package/dist/es2019/components/utils.js +89 -0
- package/dist/es2019/version.json +1 -1
- package/dist/esm/components/DatePicker.js +31 -30
- package/dist/esm/components/DateTimePicker.js +91 -103
- package/dist/esm/components/TimePicker.js +10 -9
- package/dist/esm/components/utils.js +89 -0
- package/dist/esm/version.json +1 -1
- package/dist/types/components/DatePicker.d.ts +17 -16
- package/dist/types/components/DateTimePicker.d.ts +11 -11
- package/dist/types/components/TimePicker.d.ts +2 -2
- package/dist/types/components/utils.d.ts +1 -0
- package/package.json +17 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,40 @@
|
|
|
1
1
|
# @atlaskit/datetime-picker
|
|
2
2
|
|
|
3
|
+
## 11.1.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- [`354ef86cca0`](https://bitbucket.org/atlassian/atlassian-frontend/commits/354ef86cca0) - Instrumented datetime-picker with the new theming package, `@atlaskit/tokens`.
|
|
8
|
+
|
|
9
|
+
New tokens will be visible only in applications configured to use the new Tokens API (currently in alpha).
|
|
10
|
+
These changes are intended to be interoperable with the legacy theme implementation. Legacy dark mode users should expect no visual or breaking changes.
|
|
11
|
+
|
|
12
|
+
### Patch Changes
|
|
13
|
+
|
|
14
|
+
- [`2b98dfda0a6`](https://bitbucket.org/atlassian/atlassian-frontend/commits/2b98dfda0a6) - Removes `@emotion/styled` in favour of `@emotion/core`.
|
|
15
|
+
- Updated dependencies
|
|
16
|
+
|
|
17
|
+
## 11.0.2
|
|
18
|
+
|
|
19
|
+
### Patch Changes
|
|
20
|
+
|
|
21
|
+
- Updated dependencies
|
|
22
|
+
|
|
23
|
+
## 11.0.1
|
|
24
|
+
|
|
25
|
+
### Patch Changes
|
|
26
|
+
|
|
27
|
+
- [`b90c0237824`](https://bitbucket.org/atlassian/atlassian-frontend/commits/b90c0237824) - Update package.jsons to remove unused dependencies.
|
|
28
|
+
- Updated dependencies
|
|
29
|
+
|
|
30
|
+
## 11.0.0
|
|
31
|
+
|
|
32
|
+
### Major Changes
|
|
33
|
+
|
|
34
|
+
- [`414b6216adf`](https://bitbucket.org/atlassian/atlassian-frontend/commits/414b6216adf) - [ux] BREAKING CHANGE: Datetime picker now uses date-fns@2.17 (previously <2.0). This change has tightened the requirements of users to provide ISO dates. This was never explicitly supported, but now will cause an error to be thrown for non-ISO dates. For an abundance of caution we're calling this a breaking change to protect users relying on the previous behaviour.
|
|
35
|
+
|
|
36
|
+
To upgrade you'll need to ensure any dates passed to the `DateTimePicker` are in ISO format.
|
|
37
|
+
|
|
3
38
|
## 10.4.2
|
|
4
39
|
|
|
5
40
|
### Patch Changes
|
|
@@ -27,11 +27,9 @@ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/de
|
|
|
27
27
|
|
|
28
28
|
var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
|
|
29
29
|
|
|
30
|
-
var
|
|
30
|
+
var _react = require("react");
|
|
31
31
|
|
|
32
|
-
var
|
|
33
|
-
|
|
34
|
-
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
32
|
+
var _core = require("@emotion/core");
|
|
35
33
|
|
|
36
34
|
var _dateFns = require("date-fns");
|
|
37
35
|
|
|
@@ -51,13 +49,13 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
51
49
|
|
|
52
50
|
var _constants = require("@atlaskit/theme/constants");
|
|
53
51
|
|
|
54
|
-
var
|
|
52
|
+
var _tokens = require("@atlaskit/tokens");
|
|
55
53
|
|
|
56
54
|
var _internal = require("../internal");
|
|
57
55
|
|
|
58
56
|
var _FixedLayer = _interopRequireDefault(require("../internal/FixedLayer"));
|
|
59
57
|
|
|
60
|
-
var
|
|
58
|
+
var _utils = require("./utils");
|
|
61
59
|
|
|
62
60
|
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); }
|
|
63
61
|
|
|
@@ -72,7 +70,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
72
70
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
73
71
|
|
|
74
72
|
var packageName = "@atlaskit/datetime-picker";
|
|
75
|
-
var packageVersion = "
|
|
73
|
+
var packageVersion = "11.1.0";
|
|
76
74
|
/* eslint-disable react/no-unused-prop-types */
|
|
77
75
|
|
|
78
76
|
function getDateObj(date) {
|
|
@@ -84,19 +82,26 @@ function getDateObj(date) {
|
|
|
84
82
|
}
|
|
85
83
|
|
|
86
84
|
function getValidDate(iso) {
|
|
87
|
-
var date = (0, _dateFns.
|
|
85
|
+
var date = (0, _dateFns.parseISO)(iso);
|
|
88
86
|
return (0, _dateFns.isValid)(date) ? getDateObj(date) : {};
|
|
89
87
|
}
|
|
90
88
|
|
|
91
|
-
var
|
|
89
|
+
var menuStyles = (0, _core.css)({
|
|
90
|
+
zIndex: _constants.layers.dialog(),
|
|
91
|
+
backgroundColor: (0, _tokens.token)('color.background.default', _colors.N20),
|
|
92
|
+
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
93
|
+
boxShadow: (0, _tokens.token)('shadow.overlay', "0 4px 8px -2px ".concat(_colors.N50A, ", 0 0 1px ").concat(_colors.N60A))
|
|
94
|
+
});
|
|
92
95
|
|
|
93
96
|
var Menu = function Menu(_ref) {
|
|
94
97
|
var selectProps = _ref.selectProps,
|
|
95
98
|
innerProps = _ref.innerProps;
|
|
96
|
-
return
|
|
99
|
+
return (0, _core.jsx)(_FixedLayer.default, {
|
|
97
100
|
inputValue: selectProps.inputValue,
|
|
98
101
|
containerRef: selectProps.calendarContainerRef,
|
|
99
|
-
content:
|
|
102
|
+
content: (0, _core.jsx)("div", (0, _extends2.default)({
|
|
103
|
+
css: menuStyles
|
|
104
|
+
}, innerProps), (0, _core.jsx)(_calendar.default, (0, _extends2.default)({}, getValidDate(selectProps.calendarValue), getValidDate(selectProps.calendarView), {
|
|
100
105
|
disabled: selectProps.calendarDisabled,
|
|
101
106
|
disabledDateFilter: selectProps.calendarDisabledDateFilter,
|
|
102
107
|
minDate: selectProps.calendarMinDate,
|
|
@@ -139,8 +144,8 @@ var datePickerDefaultProps = {
|
|
|
139
144
|
|
|
140
145
|
};
|
|
141
146
|
|
|
142
|
-
var DatePicker = /*#__PURE__*/function (
|
|
143
|
-
(0, _inherits2.default)(DatePicker,
|
|
147
|
+
var DatePicker = /*#__PURE__*/function (_Component) {
|
|
148
|
+
(0, _inherits2.default)(DatePicker, _Component);
|
|
144
149
|
|
|
145
150
|
var _super = _createSuper(DatePicker);
|
|
146
151
|
|
|
@@ -246,7 +251,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
246
251
|
// We format the parsed date to YYYY-MM-DD here because
|
|
247
252
|
// this is the format expected by the @atlaskit/calendar component
|
|
248
253
|
_this.setState({
|
|
249
|
-
view: (0, _dateFns.format)(parsed, 'YYYY-MM-DD')
|
|
254
|
+
view: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('YYYY-MM-DD'))
|
|
250
255
|
});
|
|
251
256
|
}
|
|
252
257
|
}
|
|
@@ -332,7 +337,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
332
337
|
var changedState = {
|
|
333
338
|
selectedValue: '',
|
|
334
339
|
value: '',
|
|
335
|
-
view: _this.props.defaultValue || (0, _dateFns.format)(new Date(), 'YYYY-MM-DD')
|
|
340
|
+
view: _this.props.defaultValue || (0, _dateFns.format)(new Date(), (0, _utils.convertTokens)('YYYY-MM-DD'))
|
|
336
341
|
};
|
|
337
342
|
|
|
338
343
|
if (!_this.props.hideIcon) {
|
|
@@ -377,7 +382,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
377
382
|
});
|
|
378
383
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSubtleControlStyles", function (isOpen) {
|
|
379
384
|
return {
|
|
380
|
-
border: "2px solid ".concat(isOpen ? _colors.B100 : "transparent"),
|
|
385
|
+
border: "2px solid ".concat(isOpen ? (0, _tokens.token)('color.border.focus', _colors.B100) : "transparent"),
|
|
381
386
|
backgroundColor: 'transparent',
|
|
382
387
|
padding: '1px'
|
|
383
388
|
};
|
|
@@ -408,13 +413,8 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
408
413
|
return formatDisplayLabel(value, dateFormat || _internal.defaultDateFormat);
|
|
409
414
|
}
|
|
410
415
|
|
|
411
|
-
var date = (0, _dateFns.
|
|
412
|
-
|
|
413
|
-
if (dateFormat) {
|
|
414
|
-
return (0, _dateFns.format)(date, dateFormat);
|
|
415
|
-
}
|
|
416
|
-
|
|
417
|
-
return l10n.formatDate(date);
|
|
416
|
+
var date = (0, _dateFns.parseISO)(value);
|
|
417
|
+
return dateFormat ? (0, _dateFns.format)(date, (0, _utils.convertTokens)(dateFormat)) : l10n.formatDate(date);
|
|
418
418
|
});
|
|
419
419
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getPlaceholder", function () {
|
|
420
420
|
var placeholder = _this.props.placeholder;
|
|
@@ -513,26 +513,26 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
513
513
|
calendarDisabledDateFilter: disabledDateFilter,
|
|
514
514
|
calendarMaxDate: maxDate,
|
|
515
515
|
calendarMinDate: minDate,
|
|
516
|
-
calendarValue: value && (0, _dateFns.format)((0, _dateFns.
|
|
516
|
+
calendarValue: value && (0, _dateFns.format)((0, _dateFns.parseISO)(value), (0, _utils.convertTokens)('YYYY-MM-DD')),
|
|
517
517
|
calendarView: view,
|
|
518
518
|
onCalendarChange: this.onCalendarChange,
|
|
519
519
|
onCalendarSelect: this.onCalendarSelect,
|
|
520
520
|
calendarLocale: locale,
|
|
521
521
|
calendarWeekStartDay: weekStartDay
|
|
522
522
|
};
|
|
523
|
-
return
|
|
523
|
+
return (0, _core.jsx)("div", (0, _extends2.default)({}, innerProps, {
|
|
524
524
|
role: "presentation",
|
|
525
525
|
onClick: this.onInputClick,
|
|
526
526
|
onInput: this.onSelectInput,
|
|
527
527
|
onKeyDown: this.onSelectKeyDown,
|
|
528
528
|
ref: this.getContainerRef,
|
|
529
529
|
"data-testid": testId && "".concat(testId, "--container")
|
|
530
|
-
}),
|
|
530
|
+
}), (0, _core.jsx)("input", {
|
|
531
531
|
name: name,
|
|
532
532
|
type: "hidden",
|
|
533
533
|
value: value,
|
|
534
534
|
"data-testid": testId && "".concat(testId, "--input")
|
|
535
|
-
}),
|
|
535
|
+
}), (0, _core.jsx)(_select.default, (0, _extends2.default)({
|
|
536
536
|
enableAnimation: false,
|
|
537
537
|
menuIsOpen: menuIsOpen,
|
|
538
538
|
closeMenuOnSelect: true,
|
|
@@ -570,7 +570,7 @@ var DatePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
570
570
|
}
|
|
571
571
|
}]);
|
|
572
572
|
return DatePicker;
|
|
573
|
-
}(_react.
|
|
573
|
+
}(_react.Component);
|
|
574
574
|
|
|
575
575
|
exports.DatePickerWithoutAnalytics = DatePicker;
|
|
576
576
|
(0, _defineProperty2.default)(DatePicker, "defaultProps", datePickerDefaultProps);
|
|
@@ -2,8 +2,6 @@
|
|
|
2
2
|
|
|
3
3
|
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
4
|
|
|
5
|
-
var _typeof = require("@babel/runtime/helpers/typeof");
|
|
6
|
-
|
|
7
5
|
Object.defineProperty(exports, "__esModule", {
|
|
8
6
|
value: true
|
|
9
7
|
});
|
|
@@ -25,11 +23,9 @@ var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/ge
|
|
|
25
23
|
|
|
26
24
|
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
27
25
|
|
|
28
|
-
var _taggedTemplateLiteral2 = _interopRequireDefault(require("@babel/runtime/helpers/taggedTemplateLiteral"));
|
|
29
|
-
|
|
30
26
|
var _react = _interopRequireDefault(require("react"));
|
|
31
27
|
|
|
32
|
-
var
|
|
28
|
+
var _core = require("@emotion/core");
|
|
33
29
|
|
|
34
30
|
var _dateFns = require("date-fns");
|
|
35
31
|
|
|
@@ -41,21 +37,19 @@ var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-c
|
|
|
41
37
|
|
|
42
38
|
var _select = require("@atlaskit/select");
|
|
43
39
|
|
|
44
|
-
var
|
|
40
|
+
var _colors = require("@atlaskit/theme/colors");
|
|
45
41
|
|
|
46
42
|
var _constants = require("@atlaskit/theme/constants");
|
|
47
43
|
|
|
44
|
+
var _tokens = require("@atlaskit/tokens");
|
|
45
|
+
|
|
48
46
|
var _internal = require("../internal");
|
|
49
47
|
|
|
50
48
|
var _DatePicker = _interopRequireDefault(require("./DatePicker"));
|
|
51
49
|
|
|
52
50
|
var _TimePicker = _interopRequireDefault(require("./TimePicker"));
|
|
53
51
|
|
|
54
|
-
var
|
|
55
|
-
|
|
56
|
-
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); }
|
|
57
|
-
|
|
58
|
-
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; }
|
|
52
|
+
var _utils = require("./utils");
|
|
59
53
|
|
|
60
54
|
function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2.default)(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2.default)(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2.default)(this, result); }; }
|
|
61
55
|
|
|
@@ -66,94 +60,75 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
|
|
|
66
60
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
67
61
|
|
|
68
62
|
var packageName = "@atlaskit/datetime-picker";
|
|
69
|
-
var packageVersion = "
|
|
63
|
+
var packageVersion = "11.1.0";
|
|
70
64
|
/* eslint-disable react/no-unused-prop-types */
|
|
71
65
|
|
|
72
|
-
var
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
return "border: 2px solid ".concat(color, ";");
|
|
91
|
-
};
|
|
92
|
-
|
|
93
|
-
var getBorderColorHover = function getBorderColorHover(_ref2) {
|
|
94
|
-
var isFocused = _ref2.isFocused,
|
|
95
|
-
isInvalid = _ref2.isInvalid,
|
|
96
|
-
isDisabled = _ref2.isDisabled;
|
|
97
|
-
var color = colors.N30;
|
|
98
|
-
|
|
99
|
-
if (isFocused || isDisabled) {
|
|
100
|
-
return "";
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
if (isInvalid) {
|
|
104
|
-
color = colors.R400;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
return "border-color: ".concat(color, ";");
|
|
108
|
-
};
|
|
109
|
-
|
|
110
|
-
var getBackgroundColor = function getBackgroundColor(_ref3) {
|
|
111
|
-
var appearance = _ref3.appearance,
|
|
112
|
-
isFocused = _ref3.isFocused;
|
|
113
|
-
var color = colors.N20;
|
|
114
|
-
|
|
115
|
-
if (isFocused) {
|
|
116
|
-
color = colors.N0;
|
|
66
|
+
var isInvalidBorderStyles = (0, _core.css)({
|
|
67
|
+
borderColor: (0, _tokens.token)('color.iconBorder.danger', _colors.R400)
|
|
68
|
+
});
|
|
69
|
+
var isFocusedBorderStyles = (0, _core.css)({
|
|
70
|
+
borderColor: (0, _tokens.token)('color.border.focus', _colors.B100)
|
|
71
|
+
});
|
|
72
|
+
var isFocusedStyles = (0, _core.css)({
|
|
73
|
+
backgroundColor: (0, _tokens.token)('color.background.default', _colors.N0)
|
|
74
|
+
});
|
|
75
|
+
var subtleBgStyles = (0, _core.css)({
|
|
76
|
+
backgroundColor: 'transparent',
|
|
77
|
+
borderColor: 'transparent'
|
|
78
|
+
});
|
|
79
|
+
var hoverStyles = (0, _core.css)({
|
|
80
|
+
'&:hover': {
|
|
81
|
+
backgroundColor: (0, _tokens.token)('color.background.default', _colors.N30),
|
|
82
|
+
borderColor: (0, _tokens.token)('color.border.neutral', _colors.N30)
|
|
117
83
|
}
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
84
|
+
});
|
|
85
|
+
var isInvalidHoverStyles = (0, _core.css)({
|
|
86
|
+
'&:hover': {
|
|
87
|
+
backgroundColor: (0, _tokens.token)('color.background.default', _colors.N0),
|
|
88
|
+
borderColor: (0, _tokens.token)('color.iconBorder.danger', _colors.R400)
|
|
121
89
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
var getBackgroundColorHover = function getBackgroundColorHover(_ref4) {
|
|
127
|
-
var isFocused = _ref4.isFocused,
|
|
128
|
-
isInvalid = _ref4.isInvalid,
|
|
129
|
-
isDisabled = _ref4.isDisabled;
|
|
130
|
-
var color = colors.N30;
|
|
131
|
-
|
|
132
|
-
if (isFocused || isDisabled) {
|
|
133
|
-
return "";
|
|
90
|
+
});
|
|
91
|
+
var isDisabledStyles = (0, _core.css)({
|
|
92
|
+
'&:hover': {
|
|
93
|
+
cursor: 'default'
|
|
134
94
|
}
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
95
|
+
});
|
|
96
|
+
var baseContainerStyles = (0, _core.css)({
|
|
97
|
+
display: 'flex',
|
|
98
|
+
backgroundColor: (0, _tokens.token)('color.background.subtleNeutral.resting', _colors.N20),
|
|
99
|
+
border: "2px solid ".concat((0, _tokens.token)('color.border.neutral', _colors.N20)),
|
|
100
|
+
borderRadius: "".concat((0, _constants.borderRadius)(), "px"),
|
|
101
|
+
transition: 'background-color 200ms ease-in-out, border-color 200ms ease-in-out',
|
|
102
|
+
'&:hover': {
|
|
103
|
+
cursor: 'pointer'
|
|
138
104
|
}
|
|
139
|
-
|
|
140
|
-
return "background-color: ".concat(color, ";");
|
|
141
|
-
};
|
|
142
|
-
|
|
143
|
-
var Flex = _styled.default.div(_templateObject || (_templateObject = (0, _taggedTemplateLiteral2.default)(["\n ", "\n ", "\n border-radius: ", "px;\n display: flex;\n transition: background-color 200ms ease-in-out, border-color 200ms ease-in-out;\n &:hover {\n cursor: ", ";\n ", "\n ", "\n }\n"])), getBackgroundColor, getBorder, (0, _constants.borderRadius)(), function (props) {
|
|
144
|
-
return props.isDisabled ? 'default' : 'pointer';
|
|
145
|
-
}, getBackgroundColorHover, getBorderColorHover); // Make DatePicker 50% the width of DateTimePicker
|
|
105
|
+
}); // Make DatePicker 50% the width of DateTimePicker
|
|
146
106
|
// If rendering an icon container, shrink the TimePicker
|
|
147
107
|
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
108
|
+
var datePickerContainerStyles = (0, _core.css)({
|
|
109
|
+
flexBasis: '50%',
|
|
110
|
+
flexGrow: 1,
|
|
111
|
+
flexShrink: 0
|
|
112
|
+
});
|
|
113
|
+
var timePickerContainerStyles = (0, _core.css)({
|
|
114
|
+
flexBasis: '50%',
|
|
115
|
+
flexGrow: 1
|
|
116
|
+
});
|
|
153
117
|
var ICON_PADDING = 2;
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
118
|
+
var iconContainerStyles = (0, _core.css)({
|
|
119
|
+
display: 'flex',
|
|
120
|
+
paddingTop: "6px",
|
|
121
|
+
paddingRight: "".concat((0, _constants.gridSize)(), "px"),
|
|
122
|
+
paddingBottom: "6px",
|
|
123
|
+
paddingLeft: "".concat(ICON_PADDING * 2, "px"),
|
|
124
|
+
alignItems: 'center',
|
|
125
|
+
flexBasis: 'inherit',
|
|
126
|
+
color: (0, _tokens.token)('color.text.lowEmphasis', _colors.N70),
|
|
127
|
+
transition: "color 150ms",
|
|
128
|
+
'&:hover': {
|
|
129
|
+
color: (0, _tokens.token)('color.text.mediumEmphasis', _colors.N500)
|
|
130
|
+
}
|
|
131
|
+
}); // react-select overrides (via @atlaskit/select).
|
|
157
132
|
|
|
158
133
|
var styles = {
|
|
159
134
|
control: function control(style) {
|
|
@@ -261,12 +236,11 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
261
236
|
return this.props.parseValue(value, dateValue, timeValue, zoneValue);
|
|
262
237
|
}
|
|
263
238
|
|
|
264
|
-
var parsed = (0, _dateFns.
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
zoneValue: (0, _dateFns.format)(parsed, 'ZZ')
|
|
239
|
+
var parsed = (0, _dateFns.parseISO)(value);
|
|
240
|
+
return (0, _dateFns.isValid)(parsed) ? {
|
|
241
|
+
dateValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('YYYY-MM-DD')),
|
|
242
|
+
timeValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('HH:mm')),
|
|
243
|
+
zoneValue: (0, _dateFns.format)(parsed, (0, _utils.convertTokens)('ZZ'))
|
|
270
244
|
} : {
|
|
271
245
|
dateValue: dateValue,
|
|
272
246
|
timeValue: timeValue,
|
|
@@ -275,10 +249,10 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
275
249
|
}
|
|
276
250
|
}, {
|
|
277
251
|
key: "onValueChange",
|
|
278
|
-
value: function onValueChange(
|
|
279
|
-
var dateValue =
|
|
280
|
-
timeValue =
|
|
281
|
-
zoneValue =
|
|
252
|
+
value: function onValueChange(_ref) {
|
|
253
|
+
var dateValue = _ref.dateValue,
|
|
254
|
+
timeValue = _ref.timeValue,
|
|
255
|
+
zoneValue = _ref.zoneValue;
|
|
282
256
|
this.setState({
|
|
283
257
|
dateValue: dateValue,
|
|
284
258
|
timeValue: timeValue,
|
|
@@ -353,16 +327,18 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
353
327
|
|
|
354
328
|
|
|
355
329
|
var isClearable = Boolean(dateValue || timeValue);
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
}),
|
|
330
|
+
var notFocusedOrIsDisabled = !(isFocused || isDisabled);
|
|
331
|
+
return (0, _core.jsx)("div", (0, _extends2.default)({
|
|
332
|
+
css: [baseContainerStyles, isDisabled && isDisabledStyles, isFocused && isFocusedStyles, bothProps.appearance === 'subtle' && subtleBgStyles, isFocused && isFocusedBorderStyles, bothProps.isInvalid && isInvalidBorderStyles, notFocusedOrIsDisabled && (bothProps.isInvalid ? isInvalidHoverStyles : hoverStyles)]
|
|
333
|
+
}, innerProps, {
|
|
334
|
+
"data-testid": testId
|
|
335
|
+
}), (0, _core.jsx)("input", {
|
|
362
336
|
name: name,
|
|
363
337
|
type: "hidden",
|
|
364
338
|
value: value
|
|
365
|
-
}),
|
|
339
|
+
}), (0, _core.jsx)("div", {
|
|
340
|
+
css: datePickerContainerStyles
|
|
341
|
+
}, (0, _core.jsx)(_DatePicker.default, (0, _extends2.default)({}, bothProps, {
|
|
366
342
|
autoFocus: autoFocus,
|
|
367
343
|
dateFormat: dateFormat,
|
|
368
344
|
hideIcon: true,
|
|
@@ -372,7 +348,9 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
372
348
|
value: dateValue,
|
|
373
349
|
locale: locale,
|
|
374
350
|
testId: testId && "".concat(testId, "--datepicker")
|
|
375
|
-
}, datePickerProps))),
|
|
351
|
+
}, datePickerProps))), (0, _core.jsx)("div", {
|
|
352
|
+
css: timePickerContainerStyles
|
|
353
|
+
}, (0, _core.jsx)(_TimePicker.default, (0, _extends2.default)({}, bothProps, {
|
|
376
354
|
hideIcon: true,
|
|
377
355
|
onChange: this.onTimeChange,
|
|
378
356
|
selectProps: mergedTimePickerSelectProps,
|
|
@@ -382,13 +360,12 @@ var DateTimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
382
360
|
timeFormat: timeFormat,
|
|
383
361
|
locale: locale,
|
|
384
362
|
testId: testId && "".concat(testId, "--timepicker")
|
|
385
|
-
}, timePickerProps))), isClearable && !isDisabled ?
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
_react.default.createElement(IconContainer, {
|
|
363
|
+
}, timePickerProps))), isClearable && !isDisabled ? // eslint-disable-next-line jsx-a11y/click-events-have-key-events,jsx-a11y/no-static-element-interactions
|
|
364
|
+
(0, _core.jsx)("div", {
|
|
365
|
+
css: iconContainerStyles,
|
|
389
366
|
onClick: this.onClear,
|
|
390
367
|
"data-testid": testId && "".concat(testId, "--icon--container")
|
|
391
|
-
},
|
|
368
|
+
}, (0, _core.jsx)(_selectClear.default, {
|
|
392
369
|
size: "small",
|
|
393
370
|
primaryColor: "inherit",
|
|
394
371
|
label: "clear"
|
|
@@ -43,12 +43,16 @@ var _colors = require("@atlaskit/theme/colors");
|
|
|
43
43
|
|
|
44
44
|
var _constants = require("@atlaskit/theme/constants");
|
|
45
45
|
|
|
46
|
+
var _tokens = require("@atlaskit/tokens");
|
|
47
|
+
|
|
46
48
|
var _internal = require("../internal");
|
|
47
49
|
|
|
48
50
|
var _FixedLayer = _interopRequireDefault(require("../internal/FixedLayer"));
|
|
49
51
|
|
|
50
52
|
var _parseTime = _interopRequireDefault(require("../internal/parseTime"));
|
|
51
53
|
|
|
54
|
+
var _utils = require("./utils");
|
|
55
|
+
|
|
52
56
|
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); }
|
|
53
57
|
|
|
54
58
|
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; }
|
|
@@ -62,7 +66,7 @@ function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflec
|
|
|
62
66
|
function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
|
|
63
67
|
|
|
64
68
|
var packageName = "@atlaskit/datetime-picker";
|
|
65
|
-
var packageVersion = "
|
|
69
|
+
var packageVersion = "11.1.0";
|
|
66
70
|
var menuStyles = {
|
|
67
71
|
/* Need to remove default absolute positioning as that causes issues with position fixed */
|
|
68
72
|
position: 'static',
|
|
@@ -159,15 +163,14 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
159
163
|
if (_this.props.timeIsEditable) {
|
|
160
164
|
var _this$props = _this.props,
|
|
161
165
|
parseInputValue = _this$props.parseInputValue,
|
|
162
|
-
_timeFormat = _this$props.timeFormat;
|
|
163
|
-
|
|
164
|
-
var _value = (0, _dateFns.format)(parseInputValue(inputValue, _timeFormat || _internal.defaultTimeFormat), 'HH:mm') || '';
|
|
166
|
+
_timeFormat = _this$props.timeFormat;
|
|
167
|
+
var formattedValue = (0, _dateFns.format)(parseInputValue(inputValue, _timeFormat || _internal.defaultTimeFormat), 'HH:mm') || '';
|
|
165
168
|
|
|
166
169
|
_this.setState({
|
|
167
|
-
value:
|
|
170
|
+
value: formattedValue
|
|
168
171
|
});
|
|
169
172
|
|
|
170
|
-
_this.props.onChange(
|
|
173
|
+
_this.props.onChange(formattedValue);
|
|
171
174
|
} else {
|
|
172
175
|
_this.onChange(inputValue);
|
|
173
176
|
}
|
|
@@ -232,7 +235,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
232
235
|
});
|
|
233
236
|
(0, _defineProperty2.default)((0, _assertThisInitialized2.default)(_this), "getSubtleControlStyles", function (selectStyles) {
|
|
234
237
|
return !selectStyles.control ? {
|
|
235
|
-
border: "2px solid ".concat(_this.getSafeState().isFocused ?
|
|
238
|
+
border: "2px solid ".concat(_this.getSafeState().isFocused ? (0, _tokens.token)('color.border.focus', _colors.B100) : "transparent"),
|
|
236
239
|
backgroundColor: 'transparent',
|
|
237
240
|
padding: '1px'
|
|
238
241
|
} : {};
|
|
@@ -260,7 +263,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
260
263
|
}
|
|
261
264
|
|
|
262
265
|
if (timeFormat) {
|
|
263
|
-
return (0, _dateFns.format)(date, timeFormat);
|
|
266
|
+
return (0, _dateFns.format)(date, (0, _utils.convertTokens)(timeFormat));
|
|
264
267
|
}
|
|
265
268
|
|
|
266
269
|
return l10n.formatTime(date);
|
|
@@ -351,7 +354,7 @@ var TimePicker = /*#__PURE__*/function (_React$Component) {
|
|
|
351
354
|
return _objectSpread(_objectSpread({}, base), controlStyles);
|
|
352
355
|
},
|
|
353
356
|
menu: function menu(base) {
|
|
354
|
-
return _objectSpread(_objectSpread(_objectSpread({}, base), menuStyles), {
|
|
357
|
+
return _objectSpread(_objectSpread(_objectSpread({}, base), menuStyles), {}, {
|
|
355
358
|
// Fixed positioned elements no longer inherit width from their parent, so we must explicitly set the
|
|
356
359
|
// menu width to the width of our container
|
|
357
360
|
width: _this3.containerRef ? _this3.containerRef.getBoundingClientRect().width : 'auto'
|
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.convertTokens = convertTokens;
|
|
7
|
+
// https://github.com/date-fns/date-fns-upgrade/blob/master/src/v2/convertTokens/index.ts
|
|
8
|
+
var tokensMap = {
|
|
9
|
+
// 'D MMMM': '',
|
|
10
|
+
// 'Do MMMM': '',
|
|
11
|
+
// 'DD MMMM': '',
|
|
12
|
+
M: 'L',
|
|
13
|
+
Mo: 'Mo',
|
|
14
|
+
MM: 'LL',
|
|
15
|
+
MMM: 'LLL',
|
|
16
|
+
MMMM: 'LLLL',
|
|
17
|
+
Q: 'q',
|
|
18
|
+
Qo: 'qo',
|
|
19
|
+
D: 'd',
|
|
20
|
+
Do: 'do',
|
|
21
|
+
DD: 'dd',
|
|
22
|
+
DDD: 'D',
|
|
23
|
+
DDDo: 'Do',
|
|
24
|
+
DDDD: 'DDD',
|
|
25
|
+
d: 'i',
|
|
26
|
+
do: 'io',
|
|
27
|
+
dd: 'iiiiii',
|
|
28
|
+
ddd: 'iii',
|
|
29
|
+
dddd: 'iiii',
|
|
30
|
+
A: 'a',
|
|
31
|
+
a: 'a',
|
|
32
|
+
aa: 'aaaa',
|
|
33
|
+
E: 'i',
|
|
34
|
+
W: 'I',
|
|
35
|
+
Wo: 'Io',
|
|
36
|
+
WW: 'II',
|
|
37
|
+
YY: 'yy',
|
|
38
|
+
YYYY: 'yyyy',
|
|
39
|
+
GG: 'RR',
|
|
40
|
+
GGGG: 'RRRR',
|
|
41
|
+
H: 'H',
|
|
42
|
+
HH: 'HH',
|
|
43
|
+
h: 'h',
|
|
44
|
+
hh: 'hh',
|
|
45
|
+
m: 'm',
|
|
46
|
+
mm: 'mm',
|
|
47
|
+
s: 's',
|
|
48
|
+
ss: 'ss',
|
|
49
|
+
S: 'S',
|
|
50
|
+
SS: 'SS',
|
|
51
|
+
SSS: 'SSS',
|
|
52
|
+
Z: 'xxx',
|
|
53
|
+
ZZ: 'xx',
|
|
54
|
+
X: 't',
|
|
55
|
+
x: 'T'
|
|
56
|
+
};
|
|
57
|
+
var v1tokens = Object.keys(tokensMap).sort().reverse();
|
|
58
|
+
var tokensRegExp = new RegExp('(\\[[^\\[]*\\])|(\\\\)?' + '(' + v1tokens.join('|') + '|.)', 'g');
|
|
59
|
+
|
|
60
|
+
function convertTokens(format) {
|
|
61
|
+
var tokensCaptures = format.match(tokensRegExp);
|
|
62
|
+
|
|
63
|
+
if (tokensCaptures) {
|
|
64
|
+
return tokensCaptures.reduce(function (acc, tokenString, index) {
|
|
65
|
+
var v2token = tokensMap[tokenString];
|
|
66
|
+
|
|
67
|
+
if (!v2token) {
|
|
68
|
+
var escapedCaptures = tokenString.match(/^\[(.+)\]$/);
|
|
69
|
+
|
|
70
|
+
if (escapedCaptures) {
|
|
71
|
+
acc.textBuffer.push(escapedCaptures[1]);
|
|
72
|
+
} else {
|
|
73
|
+
acc.textBuffer.push(tokenString);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
var endOfString = index === tokensCaptures.length - 1;
|
|
78
|
+
|
|
79
|
+
if (acc.textBuffer.length && (v2token || endOfString)) {
|
|
80
|
+
acc.formatBuffer.push("'".concat(acc.textBuffer.join(''), "'"));
|
|
81
|
+
acc.textBuffer = [];
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
if (v2token) {
|
|
85
|
+
acc.formatBuffer.push(v2token);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
return acc;
|
|
89
|
+
}, {
|
|
90
|
+
formatBuffer: [],
|
|
91
|
+
textBuffer: []
|
|
92
|
+
}).formatBuffer.join('');
|
|
93
|
+
} else {
|
|
94
|
+
return format;
|
|
95
|
+
}
|
|
96
|
+
}
|