@atlaskit/datetime-picker 13.0.0 → 13.0.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.
- package/CHANGELOG.md +15 -0
- package/dist/cjs/components/date-picker.js +15 -11
- package/dist/cjs/components/date-time-picker.js +16 -18
- package/dist/cjs/components/time-picker.js +6 -3
- package/dist/cjs/internal/clear-button.js +44 -0
- package/dist/cjs/internal/clear-indicator.js +37 -0
- package/dist/es2019/components/date-picker.js +15 -12
- package/dist/es2019/components/date-time-picker.js +16 -19
- package/dist/es2019/components/time-picker.js +6 -3
- package/dist/es2019/internal/clear-button.js +36 -0
- package/dist/es2019/internal/clear-indicator.js +29 -0
- package/dist/esm/components/date-picker.js +15 -12
- package/dist/esm/components/date-time-picker.js +16 -19
- package/dist/esm/components/time-picker.js +6 -3
- package/dist/esm/internal/clear-button.js +37 -0
- package/dist/esm/internal/clear-indicator.js +30 -0
- package/dist/types/components/date-picker.d.ts +4 -5
- package/dist/types/components/date-time-picker.d.ts +3 -4
- package/dist/types/components/time-picker.d.ts +4 -3
- package/dist/types/internal/clear-button.d.ts +17 -0
- package/dist/types/internal/clear-indicator.d.ts +10 -0
- package/dist/types-ts4.5/components/date-picker.d.ts +4 -5
- package/dist/types-ts4.5/components/date-time-picker.d.ts +3 -4
- package/dist/types-ts4.5/components/time-picker.d.ts +4 -3
- package/dist/types-ts4.5/internal/clear-button.d.ts +17 -0
- package/dist/types-ts4.5/internal/clear-indicator.d.ts +10 -0
- package/package.json +6 -5
- package/tmp/api-report-tmp.d.ts +0 -270
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# @atlaskit/datetime-picker
|
|
2
2
|
|
|
3
|
+
## 13.0.2
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- [#58458](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/pull-requests/58458) [`536478cdcf0b`](https://stash.atlassian.com/projects/CONFCLOUD/repos/confluence-frontend/commits/536478cdcf0b) - Made some tiny tweaks to the weekday header so its height is now an integer.
|
|
8
|
+
|
|
9
|
+
## 13.0.1
|
|
10
|
+
|
|
11
|
+
### Patch Changes
|
|
12
|
+
|
|
13
|
+
- [#40391](https://bitbucket.org/atlassian/atlassian-frontend/pull-requests/40391) [`4300c9d6f18`](https://bitbucket.org/atlassian/atlassian-frontend/commits/4300c9d6f18) - Associate the label with the `Date` / `Time` picker and the clear button.
|
|
14
|
+
Add hidden span to the Label component.
|
|
15
|
+
This allows to associate a label with a clear button.
|
|
16
|
+
Unit tests update.
|
|
17
|
+
|
|
3
18
|
## 13.0.0
|
|
4
19
|
|
|
5
20
|
### Major Changes
|
|
@@ -29,6 +29,7 @@ var _select = _interopRequireWildcard(require("@atlaskit/select"));
|
|
|
29
29
|
var _colors = require("@atlaskit/theme/colors");
|
|
30
30
|
var _constants = require("@atlaskit/theme/constants");
|
|
31
31
|
var _internal = require("../internal");
|
|
32
|
+
var _clearIndicator = _interopRequireDefault(require("../internal/clear-indicator"));
|
|
32
33
|
var _fixedLayer = _interopRequireDefault(require("../internal/fixed-layer"));
|
|
33
34
|
var _singleValue = require("../internal/single-value");
|
|
34
35
|
var _utils = require("./utils");
|
|
@@ -37,9 +38,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
37
38
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
38
39
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
39
40
|
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); }; }
|
|
40
|
-
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; } }
|
|
41
|
+
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; } }
|
|
41
42
|
var packageName = "@atlaskit/datetime-picker";
|
|
42
|
-
var packageVersion = "13.0.
|
|
43
|
+
var packageVersion = "13.0.2";
|
|
43
44
|
function getValidDate(iso) {
|
|
44
45
|
var date = (0, _dateFns.parseISO)(iso);
|
|
45
46
|
return (0, _dateFns.isValid)(date) ? {
|
|
@@ -61,14 +62,14 @@ var menuStyles = (0, _react2.css)({
|
|
|
61
62
|
var Menu = function Menu(_ref) {
|
|
62
63
|
var selectProps = _ref.selectProps,
|
|
63
64
|
innerProps = _ref.innerProps;
|
|
64
|
-
return
|
|
65
|
+
return /*#__PURE__*/React.createElement(_layering.UNSAFE_LAYERING, {
|
|
65
66
|
isDisabled: (0, _platformFeatureFlags.getBooleanFF)('platform.design-system-team.layering_qmiw3') ? false : true
|
|
66
|
-
},
|
|
67
|
+
}, /*#__PURE__*/React.createElement(_fixedLayer.default, {
|
|
67
68
|
inputValue: selectProps.inputValue,
|
|
68
69
|
containerRef: selectProps.calendarContainerRef,
|
|
69
|
-
content:
|
|
70
|
+
content: /*#__PURE__*/React.createElement("div", (0, _extends2.default)({
|
|
70
71
|
css: menuStyles
|
|
71
|
-
}, innerProps),
|
|
72
|
+
}, innerProps), /*#__PURE__*/React.createElement(_calendar.default, (0, _extends2.default)({}, getValidDate(selectProps.calendarValue), getValidDate(selectProps.calendarView), {
|
|
72
73
|
disabled: selectProps.calendarDisabled,
|
|
73
74
|
disabledDateFilter: selectProps.calendarDisabledDateFilter,
|
|
74
75
|
minDate: selectProps.calendarMinDate,
|
|
@@ -439,7 +440,9 @@ var DatePicker = exports.DatePickerWithoutAnalytics = /*#__PURE__*/function (_Co
|
|
|
439
440
|
DropdownIndicator: dropDownIcon,
|
|
440
441
|
Menu: Menu,
|
|
441
442
|
SingleValue: SingleValue
|
|
442
|
-
},
|
|
443
|
+
}, showClearIndicator ? {
|
|
444
|
+
ClearIndicator: _clearIndicator.default
|
|
445
|
+
} : {
|
|
443
446
|
ClearIndicator: _internal.EmptyComponent
|
|
444
447
|
});
|
|
445
448
|
var _selectProps$styles = selectProps.styles,
|
|
@@ -465,9 +468,10 @@ var DatePicker = exports.DatePickerWithoutAnalytics = /*#__PURE__*/function (_Co
|
|
|
465
468
|
previousMonthLabel: previousMonthLabel
|
|
466
469
|
};
|
|
467
470
|
return (
|
|
471
|
+
/*#__PURE__*/
|
|
468
472
|
// These event handlers must be on this element because the events come
|
|
469
473
|
// from different child elements.
|
|
470
|
-
|
|
474
|
+
React.createElement("div", (0, _extends2.default)({}, innerProps, {
|
|
471
475
|
role: "presentation",
|
|
472
476
|
onBlur: this.onContainerBlur,
|
|
473
477
|
onClick: this.onInputClick,
|
|
@@ -475,18 +479,18 @@ var DatePicker = exports.DatePickerWithoutAnalytics = /*#__PURE__*/function (_Co
|
|
|
475
479
|
onKeyDown: this.onInputKeyDown,
|
|
476
480
|
ref: this.getContainerRef,
|
|
477
481
|
"data-testid": testId && "".concat(testId, "--container")
|
|
478
|
-
}),
|
|
482
|
+
}), /*#__PURE__*/React.createElement("input", {
|
|
479
483
|
name: name,
|
|
480
484
|
type: "hidden",
|
|
481
485
|
value: value,
|
|
482
486
|
"data-testid": testId && "".concat(testId, "--input")
|
|
483
|
-
}),
|
|
487
|
+
}), /*#__PURE__*/React.createElement(_select.default, (0, _extends2.default)({
|
|
484
488
|
appearance: this.props.appearance,
|
|
485
489
|
enableAnimation: false,
|
|
486
490
|
menuIsOpen: menuIsOpen,
|
|
487
491
|
closeMenuOnSelect: true,
|
|
488
492
|
autoFocus: autoFocus,
|
|
489
|
-
|
|
493
|
+
inputId: id,
|
|
490
494
|
isDisabled: isDisabled,
|
|
491
495
|
onBlur: this.onSelectBlur,
|
|
492
496
|
onFocus: this.onSelectFocus,
|
|
@@ -18,20 +18,20 @@ var _react2 = require("@emotion/react");
|
|
|
18
18
|
var _dateFns = require("date-fns");
|
|
19
19
|
var _pick = _interopRequireDefault(require("lodash/pick"));
|
|
20
20
|
var _analyticsNext = require("@atlaskit/analytics-next");
|
|
21
|
-
var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-clear"));
|
|
22
21
|
var _platformFeatureFlags = require("@atlaskit/platform-feature-flags");
|
|
23
22
|
var _select = require("@atlaskit/select");
|
|
24
23
|
var _colors = require("@atlaskit/theme/colors");
|
|
25
24
|
var _internal = require("../internal");
|
|
25
|
+
var _clearButton = _interopRequireDefault(require("../internal/clear-button"));
|
|
26
26
|
var _datePicker = _interopRequireDefault(require("./date-picker"));
|
|
27
27
|
var _timePicker = _interopRequireDefault(require("./time-picker"));
|
|
28
28
|
var _utils = require("./utils");
|
|
29
29
|
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); }; }
|
|
30
30
|
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; } }
|
|
31
31
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
32
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
32
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
33
33
|
var packageName = "@atlaskit/datetime-picker";
|
|
34
|
-
var packageVersion = "13.0.
|
|
34
|
+
var packageVersion = "13.0.2";
|
|
35
35
|
var isInvalidBorderStyles = (0, _react2.css)({
|
|
36
36
|
borderColor: "var(--ds-border-danger, ".concat(_colors.R400, ")")
|
|
37
37
|
});
|
|
@@ -305,18 +305,20 @@ var DateTimePicker = exports.DateTimePickerWithoutAnalytics = /*#__PURE__*/funct
|
|
|
305
305
|
// Don't use Date or TimePicker's because they can't be customised
|
|
306
306
|
var isClearable = Boolean(dateValue || timeValue);
|
|
307
307
|
var notFocusedOrIsDisabled = !(isFocused || isDisabled);
|
|
308
|
-
|
|
308
|
+
var ariaLabelledbyId = id && "label--".concat(id);
|
|
309
|
+
return /*#__PURE__*/_react.default.createElement("div", (0, _extends2.default)({
|
|
309
310
|
css: [baseContainerStyles, isDisabled && isDisabledStyles, isFocused && isFocusedStyles, bothProps.appearance === 'subtle' && (isFocused ? subtleFocusedBgStyles : subtleBgStyles), isFocused && isFocusedBorderStyles, bothProps.isInvalid && isInvalidBorderStyles, notFocusedOrIsDisabled && (bothProps.isInvalid ? isInvalidHoverStyles : hoverStyles), bothProps.appearance === 'none' && noBgStyles]
|
|
310
311
|
}, innerProps, {
|
|
312
|
+
"aria-labelledby": innerProps['aria-labelledby'] || ariaLabelledbyId,
|
|
311
313
|
"data-testid": testId
|
|
312
|
-
}),
|
|
314
|
+
}), /*#__PURE__*/_react.default.createElement("input", {
|
|
313
315
|
name: name,
|
|
314
316
|
type: "hidden",
|
|
315
317
|
value: value,
|
|
316
318
|
"data-testid": testId && "".concat(testId, "--input")
|
|
317
|
-
}),
|
|
319
|
+
}), /*#__PURE__*/_react.default.createElement("div", {
|
|
318
320
|
css: datePickerContainerStyles
|
|
319
|
-
},
|
|
321
|
+
}, /*#__PURE__*/_react.default.createElement(_datePicker.default, (0, _extends2.default)({}, bothProps, {
|
|
320
322
|
autoFocus: autoFocus,
|
|
321
323
|
dateFormat: dateFormat,
|
|
322
324
|
hideIcon: true,
|
|
@@ -326,9 +328,9 @@ var DateTimePicker = exports.DateTimePickerWithoutAnalytics = /*#__PURE__*/funct
|
|
|
326
328
|
value: dateValue,
|
|
327
329
|
locale: locale,
|
|
328
330
|
testId: testId && "".concat(testId, "--datepicker")
|
|
329
|
-
}, datePickerProps))),
|
|
331
|
+
}, datePickerProps))), /*#__PURE__*/_react.default.createElement("div", {
|
|
330
332
|
css: timePickerContainerStyles
|
|
331
|
-
},
|
|
333
|
+
}, /*#__PURE__*/_react.default.createElement(_timePicker.default, (0, _extends2.default)({}, bothProps, {
|
|
332
334
|
hideIcon: true,
|
|
333
335
|
onChange: this.onTimeChange,
|
|
334
336
|
selectProps: mergedTimePickerSelectProps,
|
|
@@ -338,17 +340,13 @@ var DateTimePicker = exports.DateTimePickerWithoutAnalytics = /*#__PURE__*/funct
|
|
|
338
340
|
timeFormat: timeFormat,
|
|
339
341
|
locale: locale,
|
|
340
342
|
testId: testId && "".concat(testId, "--timepicker")
|
|
341
|
-
}, timePickerProps))), isClearable && !isDisabled ? (
|
|
342
|
-
|
|
343
|
+
}, timePickerProps))), isClearable && !isDisabled ? /*#__PURE__*/_react.default.createElement(_clearButton.default, {
|
|
344
|
+
inputId: id,
|
|
345
|
+
buttonStyles: iconContainerStyles,
|
|
343
346
|
onClick: this.onClear,
|
|
344
347
|
"data-testid": testId && "".concat(testId, "--icon--container"),
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
}, (0, _react2.jsx)(_selectClear.default, {
|
|
348
|
-
size: "small",
|
|
349
|
-
primaryColor: "inherit",
|
|
350
|
-
label: "clear"
|
|
351
|
-
})) : null);
|
|
348
|
+
primaryColor: "inherit"
|
|
349
|
+
}) : null);
|
|
352
350
|
}
|
|
353
351
|
}]);
|
|
354
352
|
return DateTimePicker;
|
|
@@ -23,6 +23,7 @@ var _locale = require("@atlaskit/locale");
|
|
|
23
23
|
var _select = _interopRequireWildcard(require("@atlaskit/select"));
|
|
24
24
|
var _constants = require("@atlaskit/theme/constants");
|
|
25
25
|
var _internal = require("../internal");
|
|
26
|
+
var _clearIndicator = _interopRequireDefault(require("../internal/clear-indicator"));
|
|
26
27
|
var _fixedLayer = _interopRequireDefault(require("../internal/fixed-layer"));
|
|
27
28
|
var _parseTime = _interopRequireDefault(require("../internal/parse-time"));
|
|
28
29
|
var _singleValue = require("../internal/single-value");
|
|
@@ -37,7 +38,7 @@ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t =
|
|
|
37
38
|
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); }; }
|
|
38
39
|
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; } }
|
|
39
40
|
var packageName = "@atlaskit/datetime-picker";
|
|
40
|
-
var packageVersion = "13.0.
|
|
41
|
+
var packageVersion = "13.0.2";
|
|
41
42
|
var menuStyles = {
|
|
42
43
|
/* Need to remove default absolute positioning as that causes issues with position fixed */
|
|
43
44
|
position: 'static',
|
|
@@ -279,8 +280,10 @@ var TimePicker = exports.TimePickerWithoutAnalytics = /*#__PURE__*/function (_Re
|
|
|
279
280
|
DropdownIndicator: _internal.EmptyComponent,
|
|
280
281
|
Menu: FixedLayerMenu,
|
|
281
282
|
SingleValue: SingleValue
|
|
282
|
-
}, hideIcon
|
|
283
|
+
}, hideIcon ? {
|
|
283
284
|
ClearIndicator: _internal.EmptyComponent
|
|
285
|
+
} : {
|
|
286
|
+
ClearIndicator: _clearIndicator.default
|
|
284
287
|
});
|
|
285
288
|
var renderIconContainer = Boolean(!hideIcon && value);
|
|
286
289
|
var mergedStyles = (0, _select.mergeStyles)(selectStyles, {
|
|
@@ -314,7 +317,7 @@ var TimePicker = exports.TimePickerWithoutAnalytics = /*#__PURE__*/function (_Re
|
|
|
314
317
|
appearance: appearance,
|
|
315
318
|
autoFocus: autoFocus,
|
|
316
319
|
components: selectComponents,
|
|
317
|
-
|
|
320
|
+
inputId: id,
|
|
318
321
|
isClearable: true,
|
|
319
322
|
isDisabled: isDisabled,
|
|
320
323
|
menuIsOpen: isOpen && !isDisabled,
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _selectClear = _interopRequireDefault(require("@atlaskit/icon/glyph/select-clear"));
|
|
9
|
+
/**
|
|
10
|
+
* __Clear button__
|
|
11
|
+
*/
|
|
12
|
+
var ClearButton = function ClearButton(_ref) {
|
|
13
|
+
var inputId = _ref.inputId,
|
|
14
|
+
_ref$iconSize = _ref.iconSize,
|
|
15
|
+
iconSize = _ref$iconSize === void 0 ? 'small' : _ref$iconSize,
|
|
16
|
+
_ref$label = _ref.label,
|
|
17
|
+
label = _ref$label === void 0 ? 'Clear' : _ref$label,
|
|
18
|
+
primaryColor = _ref.primaryColor,
|
|
19
|
+
buttonStyles = _ref.buttonStyles,
|
|
20
|
+
dataTestId = _ref.dataTestId,
|
|
21
|
+
onClick = _ref.onClick;
|
|
22
|
+
var labelId = inputId && "label--".concat(inputId);
|
|
23
|
+
var clearButtonId = inputId && "clear-btn--".concat(inputId);
|
|
24
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
25
|
+
"aria-labelledby": inputId ? "".concat(clearButtonId, " ").concat(labelId) : "".concat(clearButtonId),
|
|
26
|
+
css: buttonStyles,
|
|
27
|
+
type: "button",
|
|
28
|
+
tabIndex: -1,
|
|
29
|
+
"data-testid": "".concat(dataTestId, "--clear--btn"),
|
|
30
|
+
onClick: onClick
|
|
31
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
32
|
+
hidden: true,
|
|
33
|
+
id: clearButtonId
|
|
34
|
+
}, "Clear"), /*#__PURE__*/React.createElement("span", {
|
|
35
|
+
style: {
|
|
36
|
+
display: 'flex'
|
|
37
|
+
}
|
|
38
|
+
}, /*#__PURE__*/React.createElement(_selectClear.default, {
|
|
39
|
+
size: iconSize,
|
|
40
|
+
label: inputId ? '' : label,
|
|
41
|
+
primaryColor: primaryColor
|
|
42
|
+
})));
|
|
43
|
+
};
|
|
44
|
+
var _default = exports.default = ClearButton;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
Object.defineProperty(exports, "__esModule", {
|
|
5
|
+
value: true
|
|
6
|
+
});
|
|
7
|
+
exports.default = void 0;
|
|
8
|
+
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
|
|
9
|
+
var _react = require("@emotion/react");
|
|
10
|
+
var _select = require("@atlaskit/select");
|
|
11
|
+
var _clearButton = _interopRequireDefault(require("./clear-button"));
|
|
12
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
13
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { (0, _defineProperty2.default)(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
14
|
+
var buttonStyles = (0, _react.css)({
|
|
15
|
+
display: 'flex',
|
|
16
|
+
alignItems: 'center',
|
|
17
|
+
all: 'unset',
|
|
18
|
+
outline: 'revert'
|
|
19
|
+
});
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* __Clear indicator__
|
|
23
|
+
* Overwrites the default `ClearIndicator` button with custom styles and attributes
|
|
24
|
+
*
|
|
25
|
+
*/
|
|
26
|
+
var ClearIndicator = function ClearIndicator(props) {
|
|
27
|
+
return /*#__PURE__*/React.createElement(_select.components.ClearIndicator, _objectSpread(_objectSpread({}, props), {}, {
|
|
28
|
+
innerProps: _objectSpread(_objectSpread({}, props.innerProps), {}, {
|
|
29
|
+
'aria-hidden': 'false'
|
|
30
|
+
})
|
|
31
|
+
}), /*#__PURE__*/React.createElement(_clearButton.default, {
|
|
32
|
+
buttonStyles: buttonStyles,
|
|
33
|
+
inputId: props.selectProps.inputId,
|
|
34
|
+
dataTestId: props.selectProps.testId
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
var _default = exports.default = ClearIndicator;
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
2
|
import _extends from "@babel/runtime/helpers/extends";
|
|
3
|
-
/** @jsx jsx */
|
|
4
3
|
import { Component } from 'react';
|
|
5
|
-
import { css
|
|
4
|
+
import { css } from '@emotion/react';
|
|
6
5
|
import { format, isValid, lastDayOfMonth, parseISO } from 'date-fns';
|
|
7
6
|
import pick from 'lodash/pick';
|
|
8
7
|
import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
@@ -15,11 +14,12 @@ import Select, { mergeStyles } from '@atlaskit/select';
|
|
|
15
14
|
import { N0, N50A, N60A } from '@atlaskit/theme/colors';
|
|
16
15
|
import { layers } from '@atlaskit/theme/constants';
|
|
17
16
|
import { defaultDateFormat, EmptyComponent, padToTwo, placeholderDatetime } from '../internal';
|
|
17
|
+
import ClearIndicator from '../internal/clear-indicator';
|
|
18
18
|
import FixedLayer from '../internal/fixed-layer';
|
|
19
19
|
import { makeSingleValue } from '../internal/single-value';
|
|
20
20
|
import { convertTokens } from './utils';
|
|
21
21
|
const packageName = "@atlaskit/datetime-picker";
|
|
22
|
-
const packageVersion = "13.0.
|
|
22
|
+
const packageVersion = "13.0.2";
|
|
23
23
|
function getValidDate(iso) {
|
|
24
24
|
const date = parseISO(iso);
|
|
25
25
|
return isValid(date) ? {
|
|
@@ -41,14 +41,14 @@ const menuStyles = css({
|
|
|
41
41
|
const Menu = ({
|
|
42
42
|
selectProps,
|
|
43
43
|
innerProps
|
|
44
|
-
}) =>
|
|
44
|
+
}) => /*#__PURE__*/React.createElement(UNSAFE_LAYERING, {
|
|
45
45
|
isDisabled: getBooleanFF('platform.design-system-team.layering_qmiw3') ? false : true
|
|
46
|
-
},
|
|
46
|
+
}, /*#__PURE__*/React.createElement(FixedLayer, {
|
|
47
47
|
inputValue: selectProps.inputValue,
|
|
48
48
|
containerRef: selectProps.calendarContainerRef,
|
|
49
|
-
content:
|
|
49
|
+
content: /*#__PURE__*/React.createElement("div", _extends({
|
|
50
50
|
css: menuStyles
|
|
51
|
-
}, innerProps),
|
|
51
|
+
}, innerProps), /*#__PURE__*/React.createElement(Calendar, _extends({}, getValidDate(selectProps.calendarValue), getValidDate(selectProps.calendarView), {
|
|
52
52
|
disabled: selectProps.calendarDisabled,
|
|
53
53
|
disabledDateFilter: selectProps.calendarDisabledDateFilter,
|
|
54
54
|
minDate: selectProps.calendarMinDate,
|
|
@@ -437,7 +437,9 @@ class DatePicker extends Component {
|
|
|
437
437
|
DropdownIndicator: dropDownIcon,
|
|
438
438
|
Menu,
|
|
439
439
|
SingleValue,
|
|
440
|
-
...(
|
|
440
|
+
...(showClearIndicator ? {
|
|
441
|
+
ClearIndicator: ClearIndicator
|
|
442
|
+
} : {
|
|
441
443
|
ClearIndicator: EmptyComponent
|
|
442
444
|
})
|
|
443
445
|
};
|
|
@@ -465,9 +467,10 @@ class DatePicker extends Component {
|
|
|
465
467
|
previousMonthLabel
|
|
466
468
|
};
|
|
467
469
|
return (
|
|
470
|
+
/*#__PURE__*/
|
|
468
471
|
// These event handlers must be on this element because the events come
|
|
469
472
|
// from different child elements.
|
|
470
|
-
|
|
473
|
+
React.createElement("div", _extends({}, innerProps, {
|
|
471
474
|
role: "presentation",
|
|
472
475
|
onBlur: this.onContainerBlur,
|
|
473
476
|
onClick: this.onInputClick,
|
|
@@ -475,18 +478,18 @@ class DatePicker extends Component {
|
|
|
475
478
|
onKeyDown: this.onInputKeyDown,
|
|
476
479
|
ref: this.getContainerRef,
|
|
477
480
|
"data-testid": testId && `${testId}--container`
|
|
478
|
-
}),
|
|
481
|
+
}), /*#__PURE__*/React.createElement("input", {
|
|
479
482
|
name: name,
|
|
480
483
|
type: "hidden",
|
|
481
484
|
value: value,
|
|
482
485
|
"data-testid": testId && `${testId}--input`
|
|
483
|
-
}),
|
|
486
|
+
}), /*#__PURE__*/React.createElement(Select, _extends({
|
|
484
487
|
appearance: this.props.appearance,
|
|
485
488
|
enableAnimation: false,
|
|
486
489
|
menuIsOpen: menuIsOpen,
|
|
487
490
|
closeMenuOnSelect: true,
|
|
488
491
|
autoFocus: autoFocus,
|
|
489
|
-
|
|
492
|
+
inputId: id,
|
|
490
493
|
isDisabled: isDisabled,
|
|
491
494
|
onBlur: this.onSelectBlur,
|
|
492
495
|
onFocus: this.onSelectFocus,
|
|
@@ -1,21 +1,20 @@
|
|
|
1
1
|
import _extends from "@babel/runtime/helpers/extends";
|
|
2
2
|
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
3
|
-
/** @jsx jsx */
|
|
4
3
|
import React from 'react';
|
|
5
|
-
import { css
|
|
4
|
+
import { css } from '@emotion/react';
|
|
6
5
|
import { format, isValid, parseISO } from 'date-fns';
|
|
7
6
|
import pick from 'lodash/pick';
|
|
8
7
|
import { createAndFireEvent, withAnalyticsContext, withAnalyticsEvents } from '@atlaskit/analytics-next';
|
|
9
|
-
import SelectClearIcon from '@atlaskit/icon/glyph/select-clear';
|
|
10
8
|
import { getBooleanFF } from '@atlaskit/platform-feature-flags';
|
|
11
9
|
import { mergeStyles } from '@atlaskit/select';
|
|
12
10
|
import { B100, N0, N100, N20, N30, N500, N70, R400 } from '@atlaskit/theme/colors';
|
|
13
11
|
import { defaultTimes, formatDateTimeZoneIntoIso } from '../internal';
|
|
12
|
+
import ClearButton from '../internal/clear-button';
|
|
14
13
|
import DatePicker from './date-picker';
|
|
15
14
|
import TimePicker from './time-picker';
|
|
16
15
|
import { convertTokens } from './utils';
|
|
17
16
|
const packageName = "@atlaskit/datetime-picker";
|
|
18
|
-
const packageVersion = "13.0.
|
|
17
|
+
const packageVersion = "13.0.2";
|
|
19
18
|
const isInvalidBorderStyles = css({
|
|
20
19
|
borderColor: `var(--ds-border-danger, ${R400})`
|
|
21
20
|
});
|
|
@@ -291,18 +290,20 @@ class DateTimePicker extends React.Component {
|
|
|
291
290
|
// Don't use Date or TimePicker's because they can't be customised
|
|
292
291
|
const isClearable = Boolean(dateValue || timeValue);
|
|
293
292
|
const notFocusedOrIsDisabled = !(isFocused || isDisabled);
|
|
294
|
-
|
|
293
|
+
const ariaLabelledbyId = id && `label--${id}`;
|
|
294
|
+
return /*#__PURE__*/React.createElement("div", _extends({
|
|
295
295
|
css: [baseContainerStyles, isDisabled && isDisabledStyles, isFocused && isFocusedStyles, bothProps.appearance === 'subtle' && (isFocused ? subtleFocusedBgStyles : subtleBgStyles), isFocused && isFocusedBorderStyles, bothProps.isInvalid && isInvalidBorderStyles, notFocusedOrIsDisabled && (bothProps.isInvalid ? isInvalidHoverStyles : hoverStyles), bothProps.appearance === 'none' && noBgStyles]
|
|
296
296
|
}, innerProps, {
|
|
297
|
+
"aria-labelledby": innerProps['aria-labelledby'] || ariaLabelledbyId,
|
|
297
298
|
"data-testid": testId
|
|
298
|
-
}),
|
|
299
|
+
}), /*#__PURE__*/React.createElement("input", {
|
|
299
300
|
name: name,
|
|
300
301
|
type: "hidden",
|
|
301
302
|
value: value,
|
|
302
303
|
"data-testid": testId && `${testId}--input`
|
|
303
|
-
}),
|
|
304
|
+
}), /*#__PURE__*/React.createElement("div", {
|
|
304
305
|
css: datePickerContainerStyles
|
|
305
|
-
},
|
|
306
|
+
}, /*#__PURE__*/React.createElement(DatePicker, _extends({}, bothProps, {
|
|
306
307
|
autoFocus: autoFocus,
|
|
307
308
|
dateFormat: dateFormat,
|
|
308
309
|
hideIcon: true,
|
|
@@ -312,9 +313,9 @@ class DateTimePicker extends React.Component {
|
|
|
312
313
|
value: dateValue,
|
|
313
314
|
locale: locale,
|
|
314
315
|
testId: testId && `${testId}--datepicker`
|
|
315
|
-
}, datePickerProps))),
|
|
316
|
+
}, datePickerProps))), /*#__PURE__*/React.createElement("div", {
|
|
316
317
|
css: timePickerContainerStyles
|
|
317
|
-
},
|
|
318
|
+
}, /*#__PURE__*/React.createElement(TimePicker, _extends({}, bothProps, {
|
|
318
319
|
hideIcon: true,
|
|
319
320
|
onChange: this.onTimeChange,
|
|
320
321
|
selectProps: mergedTimePickerSelectProps,
|
|
@@ -324,17 +325,13 @@ class DateTimePicker extends React.Component {
|
|
|
324
325
|
timeFormat: timeFormat,
|
|
325
326
|
locale: locale,
|
|
326
327
|
testId: testId && `${testId}--timepicker`
|
|
327
|
-
}, timePickerProps))), isClearable && !isDisabled ?
|
|
328
|
-
|
|
328
|
+
}, timePickerProps))), isClearable && !isDisabled ? /*#__PURE__*/React.createElement(ClearButton, {
|
|
329
|
+
inputId: id,
|
|
330
|
+
buttonStyles: iconContainerStyles,
|
|
329
331
|
onClick: this.onClear,
|
|
330
332
|
"data-testid": testId && `${testId}--icon--container`,
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
}, jsx(SelectClearIcon, {
|
|
334
|
-
size: "small",
|
|
335
|
-
primaryColor: "inherit",
|
|
336
|
-
label: "clear"
|
|
337
|
-
})) : null);
|
|
333
|
+
primaryColor: "inherit"
|
|
334
|
+
}) : null);
|
|
338
335
|
}
|
|
339
336
|
}
|
|
340
337
|
_defineProperty(DateTimePicker, "defaultProps", dateTimePickerDefaultProps);
|
|
@@ -11,12 +11,13 @@ import Select, { components, CreatableSelect, mergeStyles } from '@atlaskit/sele
|
|
|
11
11
|
// eslint-disable-next-line @atlaskit/design-system/no-deprecated-imports
|
|
12
12
|
import { gridSize } from '@atlaskit/theme/constants';
|
|
13
13
|
import { defaultTimeFormat, defaultTimes, EmptyComponent, placeholderDatetime } from '../internal';
|
|
14
|
+
import ClearIndicator from '../internal/clear-indicator';
|
|
14
15
|
import FixedLayer from '../internal/fixed-layer';
|
|
15
16
|
import parseTime from '../internal/parse-time';
|
|
16
17
|
import { makeSingleValue } from '../internal/single-value';
|
|
17
18
|
import { convertTokens } from './utils';
|
|
18
19
|
const packageName = "@atlaskit/datetime-picker";
|
|
19
|
-
const packageVersion = "13.0.
|
|
20
|
+
const packageVersion = "13.0.2";
|
|
20
21
|
const menuStyles = {
|
|
21
22
|
/* Need to remove default absolute positioning as that causes issues with position fixed */
|
|
22
23
|
position: 'static',
|
|
@@ -254,8 +255,10 @@ class TimePicker extends React.Component {
|
|
|
254
255
|
DropdownIndicator: EmptyComponent,
|
|
255
256
|
Menu: FixedLayerMenu,
|
|
256
257
|
SingleValue,
|
|
257
|
-
...(hideIcon
|
|
258
|
+
...(hideIcon ? {
|
|
258
259
|
ClearIndicator: EmptyComponent
|
|
260
|
+
} : {
|
|
261
|
+
ClearIndicator: ClearIndicator
|
|
259
262
|
})
|
|
260
263
|
};
|
|
261
264
|
const renderIconContainer = Boolean(!hideIcon && value);
|
|
@@ -289,7 +292,7 @@ class TimePicker extends React.Component {
|
|
|
289
292
|
appearance: appearance,
|
|
290
293
|
autoFocus: autoFocus,
|
|
291
294
|
components: selectComponents,
|
|
292
|
-
|
|
295
|
+
inputId: id,
|
|
293
296
|
isClearable: true,
|
|
294
297
|
isDisabled: isDisabled,
|
|
295
298
|
menuIsOpen: isOpen && !isDisabled,
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import SelectClearIcon from '@atlaskit/icon/glyph/select-clear';
|
|
2
|
+
/**
|
|
3
|
+
* __Clear button__
|
|
4
|
+
*/
|
|
5
|
+
const ClearButton = ({
|
|
6
|
+
inputId,
|
|
7
|
+
iconSize = 'small',
|
|
8
|
+
label = 'Clear',
|
|
9
|
+
primaryColor,
|
|
10
|
+
buttonStyles,
|
|
11
|
+
dataTestId,
|
|
12
|
+
onClick
|
|
13
|
+
}) => {
|
|
14
|
+
const labelId = inputId && `label--${inputId}`;
|
|
15
|
+
const clearButtonId = inputId && `clear-btn--${inputId}`;
|
|
16
|
+
return /*#__PURE__*/React.createElement("button", {
|
|
17
|
+
"aria-labelledby": inputId ? `${clearButtonId} ${labelId}` : `${clearButtonId}`,
|
|
18
|
+
css: buttonStyles,
|
|
19
|
+
type: "button",
|
|
20
|
+
tabIndex: -1,
|
|
21
|
+
"data-testid": `${dataTestId}--clear--btn`,
|
|
22
|
+
onClick: onClick
|
|
23
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
24
|
+
hidden: true,
|
|
25
|
+
id: clearButtonId
|
|
26
|
+
}, "Clear"), /*#__PURE__*/React.createElement("span", {
|
|
27
|
+
style: {
|
|
28
|
+
display: 'flex'
|
|
29
|
+
}
|
|
30
|
+
}, /*#__PURE__*/React.createElement(SelectClearIcon, {
|
|
31
|
+
size: iconSize,
|
|
32
|
+
label: inputId ? '' : label,
|
|
33
|
+
primaryColor: primaryColor
|
|
34
|
+
})));
|
|
35
|
+
};
|
|
36
|
+
export default ClearButton;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import _extends from "@babel/runtime/helpers/extends";
|
|
2
|
+
import { css } from '@emotion/react';
|
|
3
|
+
import { components } from '@atlaskit/select';
|
|
4
|
+
import ClearButton from './clear-button';
|
|
5
|
+
const buttonStyles = css({
|
|
6
|
+
display: 'flex',
|
|
7
|
+
alignItems: 'center',
|
|
8
|
+
all: 'unset',
|
|
9
|
+
outline: 'revert'
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* __Clear indicator__
|
|
14
|
+
* Overwrites the default `ClearIndicator` button with custom styles and attributes
|
|
15
|
+
*
|
|
16
|
+
*/
|
|
17
|
+
const ClearIndicator = props => {
|
|
18
|
+
return /*#__PURE__*/React.createElement(components.ClearIndicator, _extends({}, props, {
|
|
19
|
+
innerProps: {
|
|
20
|
+
...props.innerProps,
|
|
21
|
+
'aria-hidden': 'false'
|
|
22
|
+
}
|
|
23
|
+
}), /*#__PURE__*/React.createElement(ClearButton, {
|
|
24
|
+
buttonStyles: buttonStyles,
|
|
25
|
+
inputId: props.selectProps.inputId,
|
|
26
|
+
dataTestId: props.selectProps.testId
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
export default ClearIndicator;
|